JQuery中的自定义事件不会触发

时间:2014-08-12 21:12:55

标签: javascript jquery

我的自定义事件非常基本,当我点击div中的输入(是一个复选框)时,我正在尝试查看console.log消息。出于任何原因,我的事件处理程序(通过使用.on)永远不会被触发。有什么想法吗?

// define custom event
$.event.special.selectnetwork = {
  eventType : 'selectnetwork',
  setup: function(data, namespaces) {
   $(this).find('input').bind('change', $.event.special.selectnetwork.handler); 
  },
  teardown: function(namespaces) {

  },
  handler: function(event) {
    event.type = 'selectnetwork';
    console.log('im here'); // I reach this poing
    return $.event.dispatch.apply(this, arguments); // Something wrong?
  }
};

// test the custom event
$('div#mydiv').on('selectnetwork', function(event) {
    console.log('selected'); // never is printed
});

2 个答案:

答案 0 :(得分:2)

.log()中的错误可能是一个错字,但它会停止你的脚本。除此之外,假定的自定义事件需要与.bind()而不是.on()

绑定

答案 1 :(得分:1)

这并没有直接回答你的问题,但由于事件冒充他们的父母,以下内容将完成我认为你的例子打算做的事情。

$('div#mydiv').on('change', function (e) {
    console.log('selected');
});