Mos*_*she 6 javascript cross-browser
我可以在所有浏览器中使用以下内容吗?
<a href="#" onclick="doSomething()">Click here.</a>
Run Code Online (Sandbox Code Playgroud)
这是标准方面的"不良做法"吗?
它适用于IE,FF,Safari和Chrome吗?
我可以在所有浏览器中使用以下内容吗?
是
这是标准方面的"不良做法"吗?
"不良做法"和"标准合规"是不同的事情.它符合标准,但由于三个原因,还有不良做法.
它适用于IE,FF,Safari和Chrome吗?
是
尽管有些人可能会说,但实践并不坏(需要注意的是它是你在这个元素上唯一需要的事件监听器),并且它是添加事件监听器的最简单(也是最普遍)的跨浏览器方式,但是我要做的两个改变.
首先,如果没有启用Javascript,链接将无用(尽管#href会使浏览器滚动到页面顶部,这可能是不可取的).同样,启用Javascript后,单击该链接仍会导致浏览器跟随href,并向上滚动.
相反,我会使用这样的东西:
<a href="[url to JS-less way of doing the same thing]" onclick="doSomething(); return false">Click here</a>
Run Code Online (Sandbox Code Playgroud)
或者,如果它确实只是一个javascript的东西,你可以使用CSS默认隐藏链接并使用Javascript使其可见(因此禁用JS的用户将看不到无用的链接).