我有一个微小的指令,可以模拟元素点击时的'keydown'事件。它完全正常,但我想通过直接从视图传递'keydown'值来创建一个更通用的。
请你帮我理解这个功能在角度方面是如何工作的,因为其中一些仍然有点令人困惑:)提前感谢。
我的指示:
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>
答案 0 :(得分:1)
for scanner.Scan() { // loop through each url in the file
// send each url to golang HTTPrequest
go HTTPrequest(scanner.Text(), channel, &wg)
}
fmt.Println(<-channel)
wg.Wait()
参数(此处attr
包含您的所有属性。只需使用它。
return function(scope, element, 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);
})
}
}])
答案 1 :(得分:1)
<script>
var app = angular.module("myApp", []);
app.directive('simulateKeydown', [function(){
return function(scope, element, attr){
var e = jQuery.Event("keydown");
e.which = attr.key;
element.bind('click', function(){
$(element).trigger(e);
})
}
}])
</script>
<div ng-app="myApp">
<div simulate-keydown data-key="36"></div>
</div>