jquery 如何为一个插件编写事件?

davidtsui 2013-08-06 12:08:20
我做了个“插件”,我也不知道是不是叫插件,反正就是类似下面这个东西。



$.fn.Lister = function(){
var container = this;

// 获取一个列表
$.get('xxxx', function(result){

// 遍历列表,并创建到容器中
$(result).each(function(){
$(container).append('<button>'+ this.Name +'</button>');
});
});
}



这个“插件”的大概用途是,获取一个列表,并将每个列表项生成一个 button 添加到你指定的容器中。例如:



$('#DivId').Lister();



可是现在我想当点击任何一个 button 时,调用者可以获取点击按钮的 html 内容。例如:



$('#DivId').Lister('onClick' : function(buttonHtml){ alert(buttonHtml) });



这是我看一般插件的功能都是这样实现的。请问在我这个例子中如何能做到?代码该如何写?谢谢
...全文
123 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
davidtsui 2013-08-06
  • 打赏
  • 举报
回复
引用 1 楼 xiaofanku 的回复:
$('#DivId').Lister('onClick' : function(buttonHtml){ alert(buttonHtml) }); re: Lister的参数是一个对像吗?对象应该是Lister({'onClick':function(){...}})
问题是,第一段代码中没有执行 onclick 的对应命令。该怎么添加进去?
街头小贩 2013-08-06
  • 打赏
  • 举报
回复
$('#DivId').Lister('onClick' : function(buttonHtml){ alert(buttonHtml) }); re: Lister的参数是一个对像吗?对象应该是Lister({'onClick':function(){...}})
街头小贩 2013-08-06
  • 打赏
  • 举报
回复
给你的添加click的元素绑定就可以了.例如:

$(container).append($('<button>'+ this.Name +'</button>').bind('click',function(){
	//todo
}));

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧