可以說,我想觸發一個自定義事件,像:我可以註冊/觸發我的自定義事件嗎?
var foo = 5;
if(foo == 5){
event(window,'fooIsFive');
}
然後
$(window).live('fooIsfive',function(){
alert('hey! foo is five!');
});
(請原諒我那可憐的想象現在。)
這可能嗎?如果不是,是否可能有類似的方法?
可以說,我想觸發一個自定義事件,像:我可以註冊/觸發我的自定義事件嗎?
var foo = 5;
if(foo == 5){
event(window,'fooIsFive');
}
然後
$(window).live('fooIsfive',function(){
alert('hey! foo is five!');
});
(請原諒我那可憐的想象現在。)
這可能嗎?如果不是,是否可能有類似的方法?
你可以試試這個:
$(window).on('fooIsFive', function() { // on = jQ1.7, use bind for other versions
alert('hey! foo is five!');
});
var foo = 5;
if (foo == 5) {
$(window).trigger('fooIsFive');
}
是你可以:
$(window).bind('eventName',function(e,a,b){
console.log(a,b);
});
$(window).triggerHandler('eventName',['arg1','arg2']);
綁定也在jq1.7中被刪除 – 2012-01-09 12:20:01
我不認爲你需要事件委託來定製事件,特別是在窗口上,但是,你可以使用所有'on'而不是'bind'清楚*看到在這種情況下的改進。 – 2012-01-09 14:31:15
使用Backbone.js的 - http://documentcloud.github.com/backbone/
對象事件是backbone.js的核心。你可以把你的Js應用程序架構帶到一個全新的水平。
太棒了!它適合我所有的要求! http://jsfiddle.net/Mj62d/2/謝謝! – 2012-01-09 12:55:40