javascript - 添加 ng-click 像属性 AngularJS

标签 javascript jquery html angularjs

我想知道有一种方法可以添加 ng-click作为属性?

假设我想添加 ng-click如果我<li>有课 someClass :

angular.element(root.querySelector('li.someClass').attr({'ng-click': 'someFunc()'});

<li>有课 anotherClass我想重置 ng-click:

angular.element(root.querySelector('li.someClass').attr({'ng-click': ''});

但是没有成功。

我无法在 HTML 中实现:

<li class="someClass" ng-click="someFunc()"> ... </li>
<li class="anotherClass"> ... </li>

因为我的 HTML 是由 ng-repeat 动态生成的还有一个指令使 ng-hide 变得困惑.

最好的解决方案是 angular.element但是ng-click属性不对吗?

(我可以在Visual Studio中调试代码,当我以某种方式添加ng-click<li ng-click="someFunc()">...</li>我在VS中的Locals Window中找不到它)

最佳答案

检查处理函数中的类名,而不是重置 ng-click

JS

$scope.someFunc = function (e) {

    if(angular.element(e.target).hasClass("someClass")){
        //code goes here
    };
}

HTML

<li class="someClass" ng-click="clickHandler($event)">Button</li>

关于javascript - 添加 ng-click 像属性 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31833129/

相关文章:

javascript - JS动态生成for循环

javascript - 自定义聊天框颜色

jquery - 如何在页面加载时自动弹出 CSS3 模态窗口?

javascript - 可拖动的 CSS 切换开关

html - jssor slider 奇怪的图像大小行为和 chrome 的白色间距

javascript - 如何让这段 JavaScript 代码在 Mac 上运行

javascript - 使用 Javascript 选择段落的最后一行

javascript - 使用 Jasmine 对位于不同模块中的两个服务进行单元测试

jQuery 函数在按钮单击和 Enter/Return(键)时执行

javascript - 检测 HTML5 视频标签