之前的想法是绑定change事件的同时也绑定click事件,但是发现会先触发click,再触发change,最后再触发click。当然这样就没法达到我想要的效果,但是将click事件改为focus事件,就可以了 var prevValue = ""; $('select').on('focus',function(){ prevValue = $(this).val();// 记录select之前选中的值 }).on('change',function(){ if(canChange){ // 可以更改 }else{ $(this).val(prevValue);// 将select值还原 } })
<select name="" id="Select"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> 这个不是自己就带你要的效果,不需要加change。。。。
之前的想法是绑定change事件的同时也绑定click事件,但是发现会先触发click,再触发change,最后再触发click。当然这样就没法达到我想要的效果,但是将click事件改为focus事件,就可以了