有没有办法使用 jQuery 的 .bind() 和 .trigger() 调用来执行用户定义的函数(例如:save ())并根据方法的返回进行操作?例如:
$("#aForm").bind ('save', function () {
return true;
});
进而:
if ($("#aForm").trigger ('save') == true) {
doSomething ();
}
我知道这个问题很老了,但也许这可以帮助别人。
正如 Paliath 所指出的,您无法返回值,因为触发事件是异步的。
您可以做的是将对象作为参数传递给事件。默认情况下,javascript 对象始终是对原始对象的引用。
eg.:
bind:
$(...).bind('example',function (evt,ret) {
ret.val = false;
});
trigger:
var ret = {ret:true};
$(...).trigger('example',[ret]);
if (!ret.ret)
//event return false
else
//event returned true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)