即使所选选项没有改变,我如何处理选择的崩溃事件,或触发更改事件?
我需要将这个用于搜索引擎,如果所选的选项相同,吉祥物仍会移动。搜索引擎位于此页面上:http://www.marocpneus.com
例如,如果您继续点击第一个选择“Typedevéhicule”并选择已经选择的“Tourisme”,则该角色将不会移动到第二个选择。但是,如果您将“Tourisme”更改为其他值之一,则角色确实会使用经典的jQuery更改事件进行移动。
答案 0 :(得分:8)
好的,经过一些研究,看起来选择clik因为浏览器不兼容而无法解雇(看看这个问题: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>
它做什么?好吧,我们知道我们已经选择了一个选项(甚至是相同的选项),因为我们在select上单击了两次,因此,只需计算点击次数,然后在上一次点击后点击它,触发它,XD。该代码还处理失去焦点,因为如果您单击选择,它将关闭click = 1,您必须重置它。
我在select中添加了一个类,用于在用户单击所需的选择时仅触发该函数。
希望它有所帮助,问候!