Rey*_*raa 14 javascript angularjs angularjs-directive
我有一个指令,我绑定focus和click事件到元素:
app.directive('mydirective', function () {
return {
link: function ($scope, $element, $attrs) {
$element.bind('click focus', function (e) {
foo(e);
});
}
};
});
Run Code Online (Sandbox Code Playgroud)
我想在fooif focus或clickor事件被触发时调用一次,但是当点击element时,focus事件被触发foo并被调用2次.如何防止召唤foo2次?
编辑:是的.将悬停与点击和焦点混合起来并不是一个好主意.谢谢大家
您可以去除事件,这只会触发第一个事件的函数
$element.bind('click focus', function(e) {
if ( !$(this).data('fired') ) foo(e);
$(this).data('fired', true);
setTimeout(function(self) {
$(self).data('fired', false);
}, 200, this);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
929 次 |
| 最近记录: |