选择相同值时的jQuery选择更改事件
Posted
技术标签:
【中文标题】选择相同值时的jQuery选择更改事件【英文标题】:jQuery select change event when selecting the same value 【发布时间】:2013-03-05 07:55:33 【问题描述】:如何处理选择的折叠事件,或者即使选择的选项没有改变也触发更改事件?
我需要为搜索引擎提供此功能,如果选择的选项相同,吉祥物仍会移动。搜索引擎在这个页面上:http://www.marocpneus.com
例如,如果您继续单击第一个选择“Type de véhicule”并选择已选择的“Tourisme”,则角色不会移动到第二个选择。但是,如果您确实将“Tourisme”更改为其他值之一,则角色确实会使用经典的 jQuery 更改事件移动。
【问题讨论】:
我不相信存在“崩溃”(或等效)事件。但我很想被证明是错误的。 更改事件仅在值更改时触发,您可能必须触发自定义事件或在选项上使用点击事件等。 @adeneo 单击选项对我不起作用。我正在使用此代码对其进行测试,但它不会触发: $('select option').click(function()console.log("CLICKED"));可以举个例子吗? 【参考方案1】:好的,经过一些研究,由于浏览器不兼容,似乎无法触发选择选项 clik(看这个 SO 问题:Event attached to Option node not being fired)
...但我们可以模拟点击,以解决问题,XD,你在这里有小提琴:http://jsfiddle.net/H9gg5/3
Js
$('select.click_option').click(function()
if ( $(this).data('clicks') == 1 )
// Trigger here your function:
console.log('Selected Option: ' + $(this).val() );
$(this).data('clicks', 0);
else
console.log('first click');
$(this).data('clicks', 1);
);
$('select.click_option').focusout( function()
$(this).data('clicks', 0);
);
HTML
<select class="click_option">
<option value="1"> Selected 1 </option>
<option value="2"> Selected 2 </option>
</select>
它有什么作用?好吧,我们知道我们已经选择了一个选项(甚至是相同的选项),因为我们在选择上单击了两次,所以,只需计算单击次数,当它在前一次单击之后触发它,XD。该代码还处理失去焦点的问题,因为如果您在选择之外单击,它将在 clicks = 1 时关闭,您必须重置它。
我在选择中添加了一个类,用于仅在用户单击您想要的选择时触发该功能。
希望对你有帮助,问候!
【讨论】:
以上是关于选择相同值时的jQuery选择更改事件的主要内容,如果未能解决你的问题,请参考以下文章