当值相同时,在选择上触发事件

时间:2013-08-01 17:36:55

标签: javascript jquery

我在用户更改选择菜单中的选项时触发事件。正如您所想象的那样,当用户选择的选项与已经存在的选项不同时,它会起作用,但是当它没有发生任何事情时。我已经尝试将其更改为点击事件,但这看起来没有用。

如果有人为此工作,我们将非常感激。

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

如果这对你产生影响,我也会使用骨干

我的活动如下:

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

更新:

感谢您的反馈

我的情况就是这样。

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

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

我希望这很清楚。

1 个答案:

答案 0 :(得分:3)

您可以尝试这样的事情:

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

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

<强>更新

由于这不适用于touchdevices,我们也应该监听change - 事件:

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