是否可以绑定选择选项On select而不是On change

时间:2012-12-11 18:12:14

标签: javascript jquery html

我想在用户从<select>中选择一个项目时绑定一个事件 没有必要改变默认值。

$(select).change();仅在项目更改时有效。

我想知道是否通过选择其中一个选项,即使它的默认选项相同,也能有效。

$('#page_body').on('select', '.pop_pin_select', function() {
});

这是我到目前为止所尝试的但它无法正常工作。

1 个答案:

答案 0 :(得分:1)

有一种解决方法;使索引0处的选项成为默认选择,动态且无法手动选择(即禁用)并正常侦听 onchange ,除非更改为索引0.然后 onchange ,将.options[0]设置为选定的标签,并将选择更改为。 Here is an example

示例中的相关JavaScript

document.getElementById('sel')
    .addEventListener('change', function () {
        if (this.selectedIndex === 0) return;
        this.options[0].value = this.value;
        this.options[0].textContent = this.options[this.selectedIndex].textContent;
        this.selectedIndex = 0;
    }, false);​
当用户进行相同的选择时会触发

onchange ,因为索引正在改变,即使该值不是。