[英]How to trigger 'click ' event in Angular js
如何将jquery的以下函数迁移到angular js?
$( "#foo" ).trigger( "click" );
这里的问题是我计划在用户填写我们的应用程序中的某些数据时自动触发提交按钮。
所以我从jquery背景,
提前致谢。
$scope.triggerClick = function () {
$timeout(function() {
angular.element('#foo').trigger('click');
}, 100);
};
如果需要,$ timeout将对循环运行$。
$timeout(function() {
angular.element(domElement).triggerHandler('click');
}, 0);
$timeout
用于打破角度的$apply
周期。
通常您不会在AngularJS中提交表单。 您使用XHR发送数据并以JSON格式获取响应。
像这样的东西:
视图
<form name="myForm" ng-submit="login(credentials)">
<label>
Username:
<input type="text" ng-model="credentials.username" />
</label>
<label>
Password:
<input type="password" ng-model="credentials.password" />
</label>
<button type="submit">Login</button>
</form>
CONTROLLER
$scope.credentials = {};
$scope.login = function login(credentials) {
var user = credentials.username;
var pass = credentials.password;
// Do some data validation
if (!user || !pass) {
$window.alert('Please, enter a username and a password!');
return;
}
// Send the data and parse the response
// (usually done via a Service)
LoginService.login(user, pass);
};
另见这个简短的演示 。
而不是那样,您可以使用ng-change
并从控制器调用提交功能。 像这样的东西:
<input type="text" ng-model="userData.field1" ng-change="mySubmitFunction(userData)">
如果你有一个按钮,你需要在按钮本身上使用ng-click="myFunctionName()"
。
在脚本文件中,您使用myFunctionName = $scope.function(){ yourCode... }
如果你非常关心Angular ...你应该读一下它,因为它基本上远离DOM,对你的网页进行“控制”,并且需要ng-app
, ng-controller
并使用$scope
来保持内容和数据的状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.