Jquery事件处理程序从页面调用时不起作用 [英] Jquery Event handler not working when calling from page
本文介绍了Jquery事件处理程序从页面调用时不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Widget.js:
(function($ ,未定义){
$ .widget('ui.discussionwidget',{
options:{
userID:'arti.agarwa',
title:,
width:,
containerClass:.ui-content-gutter
},
saveData:function(userName,msg,parentID){
//保存讨论历史
$ .event.trigger({
type:sendMessage,
userName:userName,
message:msg,
parentID:parentID,
timeStamp :new Date()
});
},
});})(jQuery);
页面脚本:
live(sendMessage,sendMessageHandler);
// sendMessage事件处理程序$ b $($)$($)$ b函数sendMessageHandler(e){
调试器;
alert(1);
}});
解决方案
看起来事件委托不是全局事件
$('#discussionwidget')。on(sendMessage,sendMessageHandler);
演示:小提琴
I have written an event to save the data in a widget.js file & the handler is on the page. There is no error or exception is coming but the handler is not getting called. Please help.
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);
Page Script :
$(document).ready(function () {
$('#discussionwidget').live("sendMessage", sendMessageHandler);
// sendMessage event handler
function sendMessageHandler(e) {
debugger;
alert(1);
}});
解决方案
Looks like event delegation is not working fine with global events
$('#discussionwidget').on("sendMessage", sendMessageHandler);
Demo: Fiddle
这篇关于Jquery事件处理程序从页面调用时不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文