<a id="cli_id"
ng-controller="EservlogsModalCtrl"
ng-click="foo()">
Create New Log
</a>
我正在使用jQuery触发点击事件:
$(document).ready(function () {
$('#cli_id').click(function (){
var customer = $('#4c609cf1bbb6c5080865df9cfc1fb649_mylogs_details_customer').val();
if (customer == '')
{
return false;
}
});
});
我曾期望ng-1时我 return false
不会发射。但是我可以看到它确实发射了。
在这种情况下,我如何避免ng键触发?
首先不要将jQuery与Angular 一起使用,而是Angular Controller来操纵逻辑。
这可以通过几种方式完成,这是其中之一。
如果您有id
4c609cf1bbb6c5080865df9cfc1fb649_mylogs_details_customer
的字段,则在其上使用 ng-model
。
使用ng-model的示例:
<input type="text" id="4c609cf1bbb6c5080865df9cfc1fb649_mylogs_details_customer" ng-model="customer_details">
控制器:
app.controller('myCtrl', function($scope) {
$scope.openlogsEservModal = function(param1,param2,param3,param4)
{
if ($scope.customer_details; == '') {
// return false / Do nothing;
}
else
{
// write your logic here
}
}
});
如果它是动态的, if you cannot use ng-model
,
在方法中,openlogsEservModal
检查要使用angular.element
检查的条件并执行逻辑。
这是控制器,您可以这样使用,
示例不使用ng-model::**
app.controller('myCtrl', function($scope) {
$scope.openlogsEservModal = function(param1,param2,param3,param4)
{
var customer = angular.element('#4c609cf1bbb6c5080865df9cfc1fb649_mylogs_details_customer').val();
if (customer == '') {
// return false / Do nothing;
}
else
{
// write your logic here
}
}
});