【发布时间】:2013-06-26 17:48:29
【问题描述】:
使用 JQuery 或 JavaScript,我想检测用户何时选择了一个值,即使他们没有更改已选择的值。
如何做到这一点?
我试过了-
$('#MyID').select(function(){ /*my function*/ });
和
$('#MyID').change(function(){ /*my function*/ }); //nothing changing, so this fails
但它们不起作用。
示例 - 我有一个包含年份列表的下拉列表,没有选择任何内容,用户选择“1976”,我运行一个函数。选择“1976”后,用户再次单击下拉菜单并选择“1976”再次,我想再次运行该功能。
【问题讨论】:
-
你不能,因为选择相同的值不是改变,它是相同的。也许您可以只听元素上的任何点击,这与您在不破坏默认浏览器行为的情况下所获得的一样接近。
-
也许尝试听一下
option的点击? -
@AndrewPeacock - 选项元素不会在所有浏览器中触发鼠标事件。
-
为什么在值没有变化的情况下再次运行函数?可能有更好的方法来解决这个问题
标签: javascript jquery drop-down-menu