我试图从jQuery调用ng-click但是无法让它工作。有人可以告诉我如何正确地做到这一点吗?
HTML:
<a ng-click="changeData()">Testing</a>
<a ng-click="changeData()">Testing 2</a>
<a ng-click="changeData()">Testing 3</a>
jQuery的:
$(document).keydown(function(e){
if (checkNav && checkNav()) return;
if (e.keyCode == 37) {
// left
setCurrent(x,y-1);
e.preventDefault();
} else if (e.keyCode == 38) {
// up
setCurrent(x-1,y);
e.preventDefault();
} else if (e.keyCode == 39) {
// right
setCurrent(x,y+1);
e.preventDefault();
} else if (e.keyCode == 40) {
// down
setCurrent(x+1,y);
e.preventDefault();
} else if (e.keyCode == 13) {
$('a[ng-click="changeData()"]')
}
});
我希望它在点击输入时调用与ng-click相同的功能。如果我在点击回车时有hrefs的以下代码,它可以正常工作:
} else if (e.keyCode == 13) {
window.location = current.attr('href');
e.preventDefault();
}
谢谢!
答案 0 :(得分:1)
我认为你的意思是你想要这样的东西。如果这是你的意图,请告诉我:
的index.html
<input ng-keyup="keyFn(event=$event)" ngclick="clickFn()">click</input>
controller.js
angular.module('myApp')
.controller('myCtrl', function($scope) {
$scope.keyFn = function(event){
if (event.keyCode && event.keyCode === 13/*enter key*/){
someFunction();
}
};
$scope.clickFn = function(){
someFunction();
}
});
function someFunction(){
console.log("event fired");
//functionality shared between click and `enter` keypress
}
答案 1 :(得分:0)
import json;
responseJson = json.loads(response)
responseJson['movies_search']['error']['errorMessage']
只是获取元素。如果您想触发点击,则需要像{<1>}那样调用$('a[ng-click="changeData()"]')
.click()
但我更喜欢托马斯的答案,根本不使用jQuery,我不明白为什么你需要它。似乎完全没必要。