如何处理选择的折叠事件,或者即使选择的选项没有更改也触发更改事件?
我需要一个搜索引擎,如果选择的选项相同,吉祥物仍然会移动。搜索引擎在此页面上:http: //www.marocpneus.com
例如,如果您继续单击第一个选择“Type de véhicule”并选择已选择的“Tourisme”,则角色不会移动到第二个选择。但是,如果您确实将“Tourisme”更改为其他值之一,则角色确实会使用经典的 jQuery 更改事件移动。
如何处理选择的折叠事件,或者即使选择的选项没有更改也触发更改事件?
我需要一个搜索引擎,如果选择的选项相同,吉祥物仍然会移动。搜索引擎在此页面上:http: //www.marocpneus.com
例如,如果您继续单击第一个选择“Type de véhicule”并选择已选择的“Tourisme”,则角色不会移动到第二个选择。但是,如果您确实将“Tourisme”更改为其他值之一,则角色确实会使用经典的 jQuery 更改事件移动。
好的,经过一些研究,由于浏览器不兼容,似乎无法触发选择选项单击(看看这个 SO 问题:附加到选项节点的事件未被触发)
...但我们可以模拟点击,以解决问题,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 时关闭,您必须重置它。
我在选择中添加了一个类,仅在用户单击您想要的选择时触发该功能。
希望它有帮助,问候!