我想检测从选择元素中取消选择选项的事件。例如,如果我的 HTML 是:
<select id="select_box">
<option value="1">Hot</option>
<option value="2">Cold</option>
<option value="3">Just Right</option>
</select>
选择第二个选项 (value="2"
),然后用户通过单击另一个选项(例如 value="3"
)取消选择它code>) 或再次单击相同的选项,如何使用 jQuery 检测该事件?我的目标是在函数发生时触发它。
我尝试了以下方法:
$("#select_box option:selected").change(function() {
console.log($(this).val());
});
但是没有成功。
最佳答案
change
事件应该在 select
元素本身上进行:
$("#select_box").change(function() {
console.log($(this).val());
});
当选择的值发生更改时,此事件将触发,并且将符合您所需的行为。
I want the value of the option that was de-selected.
在这种情况下,您需要在选择之前存储之前的值,如下所示:
$("#select_box").change(function() {
var $select = $(this),
currentValue = $select.val(),
oldValue = $select.data('previous-value');
// do stuff...
$select.data('previous-value', currentValue);
});
关于javascript - jQuery 选项取消选择事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19289881/