从页面调用时,Jquery事件处理程序无法正常工作
我编写了一个事件来将数据保存在widget.js文件中,并且处理程序在页面上。 没有错误或exception即将发生但处理程序未被调用。 请帮忙。
Widget.js:
(function ($, undefined) { $.widget('ui.discussionwidget', { options: { userID: 'arti.agarwa', title: "", width: "", containerClass: ".ui-content-gutter" }, saveData: function (userName, msg, parentID) { //Save Discussion History $.event.trigger({ type: "sendMessage", userName: userName, message: msg, parentID: parentID, timeStamp: new Date() }); }, });})(jQuery);
页面脚本:
$(document).ready(function () { $('#discussionwidget').live("sendMessage", sendMessageHandler); // sendMessage event handler function sendMessageHandler(e) { debugger; alert(1); }});
看起来事件委托对全局事件不起作用
$('#discussionwidget').on("sendMessage", sendMessageHandler);
演示: 小提琴
我可以看到两个可能的问题:
- 你的小部件有class
discussionwidget
但你绑定了iddiscussionwidget
。 - 你是用javascript动态创建小部件的? 可能是在创建窗口小部件之前绑定事件。
尝试解决这两个问题。