如何在AngularJS中创建具有动态值的指令
我有一个很小的指令,它模拟元素点击时的“keydown”事件。它工作得非常好,但是我想创建一个更通用的,可以直接从视图传递“keydown”值 你能帮我了解一下这个功能在angular中是如何工作的吗?有些功能仍然有点让人困惑:)提前谢谢 我的指示:如何在AngularJS中创建具有动态值的指令,angularjs,Angularjs,我有一个很小的指令,它模拟元素点击时的“keydown”事件。它工作得非常好,但是我想创建一个更通用的,可以直接从视图传递“keydown”值 你能帮我了解一下这个功能在angular中是如何工作的吗?有些功能仍然有点让人困惑:)提前谢谢 我的指示: app.directive('simulateKeydown', [function(){ return function(scope, element, attr){ var e = jQuery.Event("keydo
app.directive('simulateKeydown', [function(){
return function(scope, element, attr){
var e = jQuery.Event("keydown");
e.which = 36;
element.bind('click', function(){
$(element).trigger(e);
})
}
}])
当前视图:
<div simulate-keydown></div>
所需视图:
<div simulate-keydown="36"></div>
attr参数(此处
返回函数(范围、元素、attr))
保存所有属性。所以简单地使用它
app.directive('simulateKeydown', [function(){
return function(scope, element, attr){
var e = jQuery.Event("keydown");
e.which = parseInt(attr.simulateKeydown); // the value you gave it
element.bind('click', function(){
$(element).trigger(e);
})
}
}])
然后可以根据需要使用该指令
<div simulate-keydown="36"></div>
attr参数(此处
返回函数(范围、元素、attr))
保存所有属性。所以简单地使用它
app.directive('simulateKeydown', [function(){
return function(scope, element, attr){
var e = jQuery.Event("keydown");
e.which = parseInt(attr.simulateKeydown); // the value you gave it
element.bind('click', function(){
$(element).trigger(e);
})
}
}])
然后可以根据需要使用该指令
<div simulate-keydown="36"></div>
var-app=angular.module(“myApp”,[]);
app.directive('simulateKeydown',[function(){
返回函数(范围、元素、属性){
var e=jQuery.Event(“keydown”);
e、 其中=attr.key;
元素绑定('单击',函数(){
$(元素)。触发器(e);
})
}
}])
var-app=angular.module(“myApp”,[]);
app.directive('simulateKeydown',[function(){
返回函数(范围、元素、属性){
var e=jQuery.Event(“keydown”);
e、 其中=attr.key;
元素绑定('单击',函数(){
$(元素)。触发器(e);
})
}
}])
在这种情况下,它将停止工作。虽然,当console.log(attr.simulateKeydown)返回我在视图中传递给指令的值时,事件没有触发是的,现在可以工作:)谢谢您的帮助,一切都清楚了!在这种情况下,它停止工作。虽然,当console.log(attr.simulateKeydown)返回我在视图中传递给指令的值时,事件没有触发是的,现在可以工作:)谢谢您的帮助,一切都清楚了!感谢您的回复,也非常有用!感谢您的回复,也非常有用!