我可以注册/触发我的自定义事件吗?

时间:2012-01-09 11:59:04

标签: javascript jquery events

让我们说我想触发一个自定义事件,例如:

var foo = 5;

if(foo == 5){
    event(window,'fooIsFive');
}

然后

$(window).live('fooIsfive',function(){
    alert('hey! foo is five!');
});

(请原谅我现在的想象力差。)

这可能吗?如果没有,是否可以采用类似的方法?

3 个答案:

答案 0 :(得分:3)

你可以试试这个:

$(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');
}

<强> Example fiddle

答案 1 :(得分:0)

是的,你可以:

$(window).bind('eventName',function(e,a,b){
   console.log(a,b);
});
$(window).triggerHandler('eventName',['arg1','arg2']);

以下是演示:http://jsfiddle.net/gion_13/5TrH9/

答案 2 :(得分:0)

使用backbone.js - http://documentcloud.github.com/backbone/

对象事件是backbone.js的核心。您可以将Js应用程序架构提升到一个全新的水平。