JavaScript正确绑定参数
我有以下JavaScript正确绑定参数,javascript,jquery,javascript-objects,Javascript,Jquery,Javascript Objects,我有以下bootstrap3按钮代码,它被封装在一个容器div中。该按钮除了一个plus图标外没有文本 <div id="container"> ... <a type="button" class="btn btn-success input-sm btn-add"> <span class="glyphicon glyphicon-plus-sign black" aria-hidden="true"></span&g
bootstrap3
按钮代码,它被封装在一个容器div
中。该按钮除了一个plus
图标外没有文本
<div id="container">
...
<a type="button" class="btn btn-success input-sm btn-add">
<span class="glyphicon glyphicon-plus-sign black" aria-hidden="true"></span>
</a>
...
</div>
- 当我单击
图标外但按钮内的任何位置时,事件将被触发,并在结束时不可见plus
- 当我恰好单击
图标时,事件被触发,但只有图标不可见,按钮为空。绑定事件时,我不知道如何正确传递按钮的上下文plus
注意:我是面向对象JavaScript新手 使用
evt.currentTarget
。我认为,这是一个特殊的jQuery事件字段,与事件委派有关。我希望我有一个更可靠的答案,但我很高兴它对你有用:)
编辑:这里有一些文档
事件。当前目标
描述:事件冒泡阶段中的当前DOM元素
此属性通常与函数的此属性相同
事件目标
描述:启动事件的DOM元素
目标属性可以是为事件注册的元素
或者是它的后代。比较event.target和
这是为了确定事件是否因事件而被处理
冒泡。此属性在事件委派中非常有用,当
事件泡沫
也许试试evt。currentTarget@positlabs工作得很有魅力!!!:-)呵呵。酷!我补充了一个答案。
var query_builder = {
init: function() {
this.cacheDom();
this.bindEvents();
},
cacheDom: function() {
this.$container = $("#container");
...
},
bindEvents: function() {
this.$container.on('click', '.btn-add', this.addRule.bind(this));
...
},
addRule: function(evt) {
...
...
$(evt.target).addClass('invisible');
}
}