如何在没有ng-click Angular.js的情况下捕获事件onclick

时间:2016-08-10 20:14:50

标签: angularjs

我正在开发一个角色应用程序,但我想在没有ng-click的情况下捕获onclick事件,我想使用类似的东西

$scope.onClick(...)

3 个答案:

答案 0 :(得分:1)

取决于您尝试点击的内容。如果我们正在谈论正常的DOM,你可以使用常规的,非角度的方式来做这件事。

即。

假设有一个像

这样的元素
<div id="elementID" onclick = "clicked">Element</div>

使用Javascript:

function clicked(){
     console.log("I was triggered!");
}
var element = document.getElementById('elementID');
element.onclick = function(){
     console.log("I was also triggererd!"); 
}

如果你愿意,甚至可以使用JQuery:

$('#elementID').bind('click', function () {
    console.log("I would also be triggered!");
});

希望这有帮助!

答案 1 :(得分:1)

AngularJs使用指令来操作dom。你可以添加这样的指令。

<强> AngularJs

YourApp.directive('testClick', function () {
    return {
        restrict: 'A',
        link: function (scope, element) {
            element.onclick = function() {
                //do some thing.
            }
        }
    }
})

<强> HTML

<button test-click>Test Click</button>

答案 2 :(得分:0)

它对我有用的唯一方法是:

<强> JS:

    .directive('testClick', function () {
        return {
            restrict: 'A',
            link: function (scope, element) {
                element.on('click', function() {
                    console.log('Clicked');
                })
            }
        }
    })

<强> HTML:

<button test-click> Here </button>