Ng Click vs Href:哪个优先
Ng-Click vs Href: Which takes priority?
如果你有一个标签,比如:
<a href="/hello" ng-click="func()"> Hello </a>
哪个优先,ng-click还是href?
这里没有href和点击事件之间的优先级情况(除非您谈论的是锚点和点击事件的默认操作的优先级)。ng-click
是一个指令,它在下面向DOM元素注册事件处理程序,当您单击它时,将触发单击事件。锚点的默认操作(浏览器的)是导航到href中指定的url(如果存在,则为绝对或相对)。点击锚点会触发默认操作,除非event.preventDefault()
或return false(won't work with handlers registered with angular)
(不适用于角度)阻止了它,这可能就是您想要的。
在angular中,您可以将ng-click
中的事件作为ng-click="func($event)"
传递,您可以在处理程序中使用它,甚至可以内联使用它。
来自W3c
某些事件被指定为可取消。对于这些事件,DOM实现通常具有与该事件相关联的默认操作。一个例子是web浏览器中的超链接。当用户单击超链接时,默认操作通常是激活该超链接。在处理这些事件之前,实现必须检查是否注册了接收事件的事件侦听器,并将事件分派给这些侦听器。然后,这些侦听器可以选择取消实现的默认操作或允许默认操作继续进行。在浏览器中存在超链接的情况下,取消操作将导致无法激活超链接。
取消是通过调用事件的preventDefault方法来完成的。如果一个或多个EventListener在事件流的任何阶段调用preventDefault,则默认操作将被取消。
事实上,我只是自己尝试了一下,然后发布了我的结果,因为另一个答案并没有真正解决问题:
href将在ng单击有机会被调用之前执行。例如:
$scope.redirect = function(){
window.location.href = 'http://www.stackoverflow.com';
};
<a href="http://www.google.com" ng-click="redirect()">Redirect</a>
这将导致谷歌取代stackoverflow。
- setInteval vs setTimeout
- $(this).prop('property') vs. this.property
- Fancybox是否将Click事件静音
- jQuery:.click(function(){(element),collapse('show',f
- Js.erb VS按钮标记-不'不起作用.为什么?
- reactjs this.refs vs document.getElementById
- Angular,表达式{{}}的结果没有插入到ng-click中
- Performance: NaCl vs Emscripten
- 文本表示法VS.构造函数,用于在JavaScript中创建对象
- Advantages to DOMParser vs template & innerHTML
- 具有相同类的jquery-click元素
- Jquery clicktracking mousedown vs click
- Ng Click vs Href:哪个优先
- AngularJS ngClick vs binding to click
- Selenium WebElement.click() vs. Javascript点击事件
- jquery use of bind vs on click
- 检测用户点击vs. jquery .click()
- Jquery mousedown vs click
- trigger.click vs .prop('checked', true) 的性能优缺点
- jQuery vs Javascript click