如何处理选择的折叠事件,或者即使所选选项没有更改也触发更改事件?
我需要为搜索引擎提供这个,如果选择的选项相同,吉祥物仍然会移动。搜索引擎在此页面:http://www.marocpneus.com
例如,如果您继续单击第一个选择“Type de véhicule”并选择已选择的“Tourisme”,则 Angular 色将不会移动到第二个选择。但是,如果您确实将“Tourisme”更改为其他值之一,则 Angular 色确实会使用经典的 jQuery 更改事件移动。
最佳答案
好吧,经过一番研究,由于浏览器不兼容,看起来 select option clik 无法被触发(看看这个问题:Event attached to Option node not being fired)
...但我们可以模拟点击,以做出解决方法,XD,你在这里有 fiddle :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 关闭,并且您必须重置它。
我已经向选择添加了一个类,以便仅在用户单击所需的选择时触发该功能。
希望对您有所帮助,问候!
关于javascript - 选择相同值时的jQuery选择更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15452103/