href="javascript:;" or href="javascript:void(
href="javascript:;" or href="javascript:void(0)", the difference?
我读到了href="#"
和href="javascript:void(0)"
比较,我还想知道关于
href="javascript:;" or href="javascript:void(0)"
,
ps:我一直用href="javascript:;"
而不是href="javascript:void(0)"
,没有发现任何麻烦。
在超链接中使用javascript:
无论哪种形式都是不好的。你的JavaScript设计应该是不引人注目的。
如果要将事件侦听器附加到定位点,则应使用#
锚点甚至实际 URL,例如:
<a href="/delete/post/123">delete</a>
...
<script>
jQuery(function($) {
$('a').on('click', function(event) {
event.preventDefault();
// do ajax stuff
});
});
</script>
这样,旧浏览器(或禁用JavaScript的浏览器)将遵循常规链接删除项目,而启用JavaScript的浏览器将通过AJAX执行此操作,以便页面不必刷新。
如果你的链接真的什么都不做,你根本不应该使用锚点;只需为此目的设置一个<span>
。
你在href
中输入的内容并不真正相关。您应该首先通过从单击处理程序返回false
来阻止链接被跟踪。
例:
<a href="fallback.html" onclick="doSomething();return false;">
在href
中,您可以为已禁用Javascript的用户放置指向后备解决方案的链接,或者通知他们需要Javascript才能使用该页面功能的页面。
javascript:void(0) - 比JavaScript:some_code_to_execute更容易理解。当然,在你的情况下 javascript:;并不难读,是不会假设代码被破坏了。
有几个原因,为什么用javascript处理lcicks是不好的。我知道这不是实际的问题,但它是相关的:
- 这种方法已经过时,并且由于浏览器供应商仍然支持它,因此它不在 wc3 标准中。
- 链接 href="javascript" 不适用于没有 javascript 的用户。最好使用 href="/somePage.com?id=123" onclick="makeActionFor(777);返回假">
- 标记和代码之间没有分离。在这种情况下,在 prev 示例中放置 onclick 也是附加点击处理程序的糟糕方法。
javascript:
链接的通常行为是将文档正文替换为表达式计算的任何内容,除非它的计算结果为 undefined
。您的两个版本之间没有区别,它们都评估为undefined
,在javascript:
链接中,没有影响。
但是,这不是创建无操作链接的首选方法。你不必要地强迫浏览器解析和评估JavaScript。如果要创建一个不执行任何操作的链接,则应将其href
设置为 "#"
,并将函数绑定到链接的 click
事件。事件处理程序将传递一个事件对象;如果要计算某些代码,然后阻止跟踪链接(将#
附加到当前 URL),则可以使用 event.preventDefault()
、 event.stopPropagation()
或只是从事件处理程序返回false
。
最好的选择是在href
属性中维护一些有意义的值,这样如果 JavaScript 被规避(即用户在新窗口中打开链接),仍然有一些理智的回退。然后,您应该在现有的仅 HTML 功能之上分层其他"丰富"操作。
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- Javascript复选框函数:;缺少:在属性id之后"
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 插入“;img src"在javascript中
- "访问控制允许起源”;通过javascript从http页面调用同一网站的httpsurl时出现问题
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 如何's css标记"-webkit最小设备像素比”;在Javascript中实现
- 内联javascript与"<脚本>"字符串错误地关闭了脚本标记
- 什么是"!函数(){}〃;javascript中的mean/do
- 使用javascript"这个“;用于jquery选择器
- 我可以在不使用乘法运算符“”的情况下进行乘法运算吗*"在JavaScript中
- 用分隔符分隔具有多个整数值的字符串的Javascript"重试错误的值
- 什么是==+"在javascript中
- 什么是“;回归"javascript中的mean
- 可以't删除“;C: fakepath "使用javascript替换和regex
- 如何删除“"使用javascript从字符串中提取字符
- 如何使用Javascript获取当前页面URL,并在<a href="[the_URL]”>
- JavaScript异常:“;不成形”;在firefox浏览器上;XMLHttpRequest"chrome浏
- button1.Attributes.Add(“onclick"“javascript: window.open