如何处理插件中的点击事件?简化的描述是我希望有一个插件来检测点击,然后更新另一个元素。
使用示例:
$("#some_id").myPlugin("another_id");
示例插件:
(function($){
$.fn.myPlugin=function(update_id){
.click({$(update_id).html("content_upated");});
}
})(jQuery);
我不明白如何在插件中编写.click事件。任何例子都会有所帮助。感谢。
答案 0 :(得分:13)
你应该做两件事:
this
引用应用插件的元素尝试以下
(function($){
$.fn.myPlugin = function(update_id) {
this.bind("click.myPlugin", function () {
$(update_id).html("content_upated");
});
};
})(jQuery);
您应该阅读jQuery plugin authoring上的页面,了解有关如何正确开发jQuery插件的更多信息。您缺少其他重要的细节,例如接受参数对象。
答案 1 :(得分:1)
使用this
访问调用插件的对象:
(function($){
$.fn.myPlugin=function(update_id){
this.click( function() { $(update_id).html("content_upated"); } );
}
})(jQuery);
请注意,您的用法需要在此示例中包含id选择器,或者您需要将其包含在Click函数中:
$("#some_id").myPlugin("#another_id");
答案 2 :(得分:0)
您可以调用.each()
来迭代匹配的元素,也可以通过常规的jQuery方法进行附加。
(function($)
{
$.fn.myPlugin = function(anotherIdentifier)
{
// this.click is equivalent to $(identifier).click()
this.click(function()
{
// Thing to do
});
};
})(jQuery);
答案 3 :(得分:0)
(function($){
$.fn.myPlugin=function(update_id){
this.click(function(){ $(update_id).html("content_upated"); });
}
})(jQuery);
确保update_id
是有效的选择器。
答案 4 :(得分:-2)
(function($){
$.fn.myPlugin=function(update_id){
this.click(function(){ $(update_id).html("content_upated"); });
}
})(jQuery);
确保update_id
是有效的选择器。