我的自定义事件非常基本,当我点击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
});
答案 0 :(得分:2)
.log()中的错误可能是一个错字,但它会停止你的脚本。除此之外,假定的自定义事件需要与.bind()而不是.on()
绑定答案 1 :(得分:1)
这并没有直接回答你的问题,但由于事件冒充他们的父母,以下内容将完成我认为你的例子打算做的事情。
$('div#mydiv').on('change', function (e) {
console.log('selected');
});