jquery更改事件回调
如何在change()
事件完成后调用一次函数?
例如,像这样:(我知道jQuery默认没有回调方法)
$('#element').change( function(){ // do something on change // $('#milestonesSelect').multiselect({ minWidth: 120 , height : '200px' ,selectedList: 4 }).multiselectfilter(); // some animation calls ... // ... }, function(){ // do something after complete alert('another codes has completed when i called'); } );
在完成更改方法的所有代码之后,是否可以调用单个回调,除了为其上的每个函数调用完整的回调?
更改事件完成后我需要做一些事情
我需要在变更处理程序中为方法设置顺序吗?
您可以使用事件冒泡并在document
注册回调。
$(document).on('change', '#element', function(){ console.log('after all callbacks') });
演示: 小提琴
我自己花了一些时间来探索这个问题,并决定将这个问题的答案提交给我。 这不是利用任何jQuery的延迟方法,这可能是一种更好的方法。 我没有对他们进行过充分的探讨,对此事有任何意见。
$("#element").change(function() { handler().after(callBack($("#element").val())); } function handler() { alert("Event handler"); } function callBack(foo) { alert(foo); }
演示: JSFiddle
如果我正确理解了您的问题,这将在触发更改事件后仅执行一次代码:
var changed = false; $('#element').on('change', function() { if ( !changed ) { // do something on change changed = true; } } });