繁体   English   中英

如何在Angular js中触发'click'事件

[英]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-appng-controller并使用$scope来保持内容和数据的状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM