在这里回答:
这是一个多方面的问题。首先,所有jQuery代码事件都应使用$ scope。$ apply来按预期方式执行angularjs代码。例:
jQuery(selector).someEvent(function(){ $scope.$apply(function(){ // perform any model changes or method invocations here on angular app. });});
在最新版本的jQuery中,为了使事件根据DOM更改而更新,您需要1.为最近的父元素(例如)获取选择器:
<div ><div ></div><!-- Expect that more "myDynamicDiv" will be added here --></div>
在这种情况下,您的父选择器将是“ .myDiv”,而您的子选择器将是.myDynamicDiv。
因此,您希望jQuery在元素的PARENT上具有事件,因此,如果子元素发生更改,它将仍然有效:
$('.myDiv').on("click", ".myDynamicDiv", function(e){ $(this).slideToggle(500); $scope.$apply(function(){$scope.myAngularVariable = !$scope.myAngularVariable; });});
注意,使用$ scope。$ apply()是为了使jQuery能够访问那些角度变量。
希望这可以帮助!基督教
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)