将 jQuery 事件附加到 AngularJS 结果
Attaching jQuery Event to AngularJS results
如何将 jQuery click
事件添加到由 AngularJS
动态生成的 li
Angular 代码/数据库/过滤工作正常,我只想让它在您单击其中一个 li
时执行某些操作。
我是 Angular
的新手
HTML
<li ng-repeat="data in filtered = (list | filter:search | orderBy : predicate :reverse) | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit" data-name="{{data.customerName}}" class="myli">
<strong>{{data.customerName}}</strong><br />
{{data.addressLine1}}, {{data.city}}, {{data.state}}, {{data.postalCode}}, {{data.country}}<br />
<code>{{data.creditLimit}}</code>
</li>
jQuery
$(document).ready(function(){
$(".myli").on("click", function(){
var name = $(this).data("name");
alert(name);
});
});
谢谢
理想情况下,您可以在 li
上利用 ng-click
https://docs.angularjs.org/api/ng/directive/ngClick 功能
<li ng-click="eventHandler(data)" ... class="myli">
然后在你的控制器中
scope.eventHandler = function(data){
alert(data.name);
}
您现在已经删除了 jquery 依赖项,您可以更改所有元素类型,类,甚至您想要在标记中调用数据元素的内容,而无需更改您的控制器中的代码
如何将 jQuery click
事件添加到由 AngularJS
li
Angular 代码/数据库/过滤工作正常,我只想让它在您单击其中一个 li
时执行某些操作。
我是 Angular
的新手HTML
<li ng-repeat="data in filtered = (list | filter:search | orderBy : predicate :reverse) | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit" data-name="{{data.customerName}}" class="myli">
<strong>{{data.customerName}}</strong><br />
{{data.addressLine1}}, {{data.city}}, {{data.state}}, {{data.postalCode}}, {{data.country}}<br />
<code>{{data.creditLimit}}</code>
</li>
jQuery
$(document).ready(function(){
$(".myli").on("click", function(){
var name = $(this).data("name");
alert(name);
});
});
谢谢
理想情况下,您可以在 li
ng-click
https://docs.angularjs.org/api/ng/directive/ngClick 功能
<li ng-click="eventHandler(data)" ... class="myli">
然后在你的控制器中
scope.eventHandler = function(data){
alert(data.name);
}
您现在已经删除了 jquery 依赖项,您可以更改所有元素类型,类,甚至您想要在标记中调用数据元素的内容,而无需更改您的控制器中的代码