当选择相同的值时,jQuery选择更改事件
如何处理select的折叠事件,或者即使所选选项没有更改,也会触发更改事件?当选择相同的值时,jQuery选择更改事件
我需要有一个搜索引擎,如果选择的选项相同,吉祥物仍然会移动。搜索引擎是在这个页面上:http://www.marocpneus.com
例如,如果继续并点击第一个选择“Type devéhicule”并选择已被选择的“Tourisme”,则该字符不会移动到第二选择。但是,如果您确实将“Tourisme”更改为其他值之一,那么角色的确会使用传统的jQuery更改事件进行移动。
好了,经过一番研究,它看起来像选择选项CLIK不能被解雇了,由于浏览器incomptability(看这太问题: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,您必须重置它。
我在select中添加了一个类,用于在用户单击所需的选择时触发该功能。
希望它有帮助,问候!
谢谢 - 解决这个问题的好方法。 – 2014-02-19 10:33:44
我不相信有'崩溃'(或同等)的事件。但我很想被证明是错误的。 – 2013-03-16 17:08:22
只有在值发生变化时才会触发更改事件,您可能必须触发自定义事件或在选项中使用点击事件等。 – adeneo 2013-03-16 17:09:28
@adeneo点击选项对我来说不起作用。我使用这段代码来测试它,但它不会触发:$('select option')。click(function(){console.log(“CLICKED”)}); 你能举个例子吗? – 2013-03-16 17:25:34