#或javascript:void(0)?

我不打算开始辩论.

如果我们想要使用onClick事件,我们应该以某种方式禁用href来触发. – 它是否正确 ?

如果以上是正确的,我相信javascript:void(0)的优点是不会触发滚动行为.

这些假设是否正确?

注意:我不打算搜索一个嵌合体,但我的任务是找到一种以跨浏览器方式设置按钮样式的方法,没有任何可访问性(根本没有),没有黑客和怪癖.

解决方法

如果要阻止链接,请在单击处理程序中添加 event.preventDefault()(IE中为 event.returnValue = false;).

看起来你只是看到一个链接,而不是它的功能(或目的).如果是这样,您可以使用带有CSS的button来相应地设置样式.

应该避免与href内容#或javascript:void(0)建立真正的链接.

进一步说明:

使用链接只是为了点击“可点击”并不好.链接具有独特的句法意义.由于可以为每个元素分配单击事件处理程序,因此可以使用任何其他元素.

语法上最正确的一个(imo)将是button,因为你仍然可以使用tab来导航它们.您可以使用CSS为它们设置样式,使它们看起来像链接(如果您愿意)(see this example).

现在关于防止默认操作:

假设您有一个具有正确href值的普通链接,并且您想拦截点击.在您分配给元素的点击处理程序中,例如

link.addEventListener('click',function(event){
    // some code
    event.preventDefault();
},false);

使用event.preventDefault()可以防止默认操作(如果是链接),则遵循URL.

(上面的代码是W3C兼容浏览器的一个例子,IE有点不同)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)