我有动态内容,我使用on(...)
以下代码管理用户标记 - 想法是动态构建标记菜单(在多个页面上使用),然后允许用户添加标签:
function tagging(){
_this = this
this.build_content = function(){
//build tagging menu
...
_this.bind_triggers
}
this.bind_triggers = function(){
_this.$I_tag_add = $('#I_add_user_tag');
_this.$B_tag_add = $('#B_add_user_tag');
$(document).on('click', _this.$B_tag_add, _this.add_user_tag);
this.add_user_tag = function(){
//add user tag
...
}
}
$I_tag_add
是一个输入框
$B_tag_add
是一个按钮
当我点击$I_tag_add
输入要添加的标记时,系统会调用_this.add_user_tag
,但我预计这只会在点击$B_tag_add
时发生。
我通过做
解决了这个问题_this.$B_tag_add = $('#B_add_user_tag').click(_this.add_user_tag);
这实际上比我之前的代码更好 - 但是想知道我以前的代码是什么。我错过了.on(...)
的奇怪之处吗?