从页面调用时,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); 

演示: 小提琴

我可以看到两个可能的问题:

  1. 你的小部件有class discussionwidget但你绑定了id discussionwidget
  2. 你是用javascript动态创建小部件的? 可能是在创建窗口小部件之前绑定事件。

尝试解决这两个问题。