鉴于以下内容:
<html ng-app>
...
<script>
function Main($scope){
$scope.checked = function() {
alert("This will never show!");
};
}
</script>
<body>
<div data-role="page" ng-controller="Main">
<div data-role="header">
<h1>Sample</h1>
</div>
<div data-role="content">
<label for="mybox">Click here!</label>
<input id="mybox" type="checkbox" ng-model="boxval" ng-change="checked()">
</div>
</div>
</body>
</html>
选中或取消选中该框不会触发方法调用。通过删除<label>
标记,它可以正常工作。
我知道JQuery Mobile正在对基础<input type="checkbox">
标签进行一些奇特的操作,但是有一种简单的方法来欺骗它以激活ng-change吗?
答案 0 :(得分:2)
所以事实证明,我需要做的就是改变我的javascript导入的顺序,以便在Angular之前导入jQuery。突然间,这一切都神奇地起作用了。
答案 1 :(得分:0)
ngModel
指令是ngChange
工作所必需的。