1

当用户更改选择菜单中的选择时,我触发了一个事件。正如您想象的那样,当用户选择一个与现有选项不同的选项时,它会起作用,但当它相同时,什么也不会发生。我曾尝试将其更改为单击事件,但这似乎不起作用。

如果有人对此有解决办法,将不胜感激。

我已经找到了一些解决这个问题的方法,但它们似乎都不适合我。

如果这对你有影响,我也在使用骨干

我的活动如下所示:

'change .js-select'       : 'show_colours',

更新:

感谢您的反馈

我的场景是这样的。

我有四个选择菜单,其中 0、1 和 2 作为选项。如果用户选择除零以外的任何内容,则会在其下方显示一个颜色块块,以便用户单击一种颜色。这对于所有选择菜单都是相同的。

现在由于空间不足,用户一次只能打开一个颜色块。因此,如果用户想要返回并更改已关闭颜色块上的颜色,他们需要选择与已有选项不同的选项,因为如果他们选择相同的选项,打开颜色块的事件将不会触发。

我希望这很清楚。

4

1 回答 1

3

你可以尝试这样的事情:

var open = false;
$('select').on('mouseup', function () {
    if (open) alert(this.value);
    open = !open;
});

http://fiddle.jshell.net/6LYbu/1/

更新

由于这在触摸设备上不起作用,我们也应该监听change-event:

var open = false;
$('select').on('mouseup change', function (e) {
    if (open || e.type === 'change') alert(this.value);
    open = !open;
});
于 2013-08-01T17:46:40.263 回答