JQuery选择器在angularjs中不工作?
我在访问angularjs呈现页面上的元素时遇到问题。即使是一个弹出警报的简单脚本 这是我的密码:JQuery选择器在angularjs中不工作?,jquery,angularjs,jquery-selectors,Jquery,Angularjs,Jquery Selectors,我在访问angularjs呈现页面上的元素时遇到问题。即使是一个弹出警报的简单脚本 这是我的密码: <div class="col-md-10 col-md-offset-1"> <div> <table class="table table-striped"> <thead> <th>From File</th> <th>Map To&
<div class="col-md-10 col-md-offset-1">
<div>
<table class="table table-striped">
<thead>
<th>From File</th>
<th>Map To</th>
</thead>
<tr class="selector-row" ng-repeat="(key,value) in import">
<td><span id="myspan">{{value}}</span></td>
<td style="padding:10px;">
<select name="repeatSelect" id="repeatSelect" ng-model="data" class="form-control">
<option ng-repeat="(key,value) in mapping" value="{{value}}">{{value}}</option>
</select>
</td>
</tr>
</table>
</div>
从文件
映射到
{{value}}
{{value}}
$(文档).ready(函数(){
$('#myspan')。在('click',函数(){
警报(‘击中它’)
})
})
发生这种情况是因为您试图在尚未创建的对象上分配事件。目前我可以想到两种解决方案:
$scope
函数绑定事件。如果以后需要,可以在angular内部自由使用jQuery重复缓冲区
使重复完成,然后触发repeat finished
事件
您可以在angular controller中听到,然后执行jQuery代码希望有帮助。如果您试图在编译视图后执行任何DOM操作,则应使用指令。如果您只是想注册一个click事件来启动一个函数,请使用ng click。这里有两个例子供您查看 示例中的HTML(更新为使用通用对象并处理这两个示例): 处理单击事件的指令
myApp.directive('generateClickResponse', function() {
return {
link: function(scope, element, attribute) {
element.bind("click", function(e) {
alert("element clicked: " + element.attr('id'));
});
}
}
});
--相关ng点击代码--
控制器中的此函数将从HTML中的ng click调用
$scope.alertFunction = function(element) {
alert("ng-click heard click. Passing data key id = " + element.id);
}
这里有一把小提琴在演奏中显示了这一点:你在这里错过了angularjs的要点。。。您不应该使用jquery选择器来执行此类任务。尝试阅读更多关于angular的内容(www.learn-angular.org)感谢你的建议,费尔南多。我已经看过learn angular,但没有看到它具体解决了我的问题。是否有您建议我可以找到答案的特定部分?是的,请检查ng click指令
$scope.import = [
{"id": "1", "name":"first"},
{"id": "2", "name":"second"},
{"id": "3", "name":"third"},
{"id": "4", "name":"fourth"},
{"id": "5", "name":"fifth"}
];
myApp.directive('generateClickResponse', function() {
return {
link: function(scope, element, attribute) {
element.bind("click", function(e) {
alert("element clicked: " + element.attr('id'));
});
}
}
});
$scope.alertFunction = function(element) {
alert("ng-click heard click. Passing data key id = " + element.id);
}