![](/img/trans.png)
[英]Angularjs $http promise; Get the callback functions fn1 and fn2 from $http().then(fn1, fn2)
[英]Is there any difference when calling a javascript function onclick=“fn1()” and onclick=“javascript:fn1()”
直接在onclick =“ fn1()”和onclick =“ javascript:fnq()”上调用函数有什么区别?
最好的方法是什么?
谢谢
它们在功能上是等效的。 哪个最好? 都不是。 不要混合使用标记和JavaScript。 而是将函数绑定到您的元素:
<div id="element"></div>
现在有多种方法可以做到这一点:
// Find element
var el = document.getElementById('element');
// Option 1:
el.onclick = function() {
fn1();
};
// Or by reference:
el.onclick = fn1;
// Option 2:
if (el.addEventListener) {
el.addEventListener('click', fn1, false);
} else {
el.attachEvent('click', fn1);
}
区别在于onclick="fn1()"
表示您认为的功能(“运行函数fn1()
“),而onclick="javascript:fnq()"
使用javascript:
作为fnq()
语句的无用标签 fnq()
。 请注意,您还可以编写onclick="foobarbaz:fnq()"
,它会做同样的事情; javascript
绝对没有什么特别的。 (您可能会考虑使用javascript:
作为<a href="javascript:fnq()">
的URL协议,其中javascript:
与http:
将具有相同的通用用途:它将指示URL的类型。 )
其中, onclick="fn1()"
是更好的做法,尽管通常最好从JavaScript附加点击处理程序,而不是先将其放入HTML。
我相信W3C已将javascript内联。
仅当尝试在事件处理程序中使用两种不同的脚本语言时,才使用内联javascript。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.