如果你想要一个事件或一个空的javascript调用的链接,有几种方法,我可以想到:
<a href="#">Method 1</a> <- Ugh... changes URL in browser
<a href="javascript:;">Method 1</a> <- My currently preferred method
<a href="javascript:void(0);">Method 1</a> <- Another approach?
Run Code Online (Sandbox Code Playgroud)
在跨浏览器兼容性和简洁性方面,最好的方法是什么?
任何人都可以告诉我或指向一些资源,解释为什么javascript:void(0)在超链接中使用是有害的(特别是在Internet Explorer 6中)?
是否有任何优点/缺点
<a href="javascript:;" onclick="myFunc()">do myFunc</a>
Run Code Online (Sandbox Code Playgroud)
过度
<a href="javascript:" onclick="myFunc()">do myFunc</a>
Run Code Online (Sandbox Code Playgroud) 我有一个链接,当点击它时,将进行AJAX调用.这个AJAX调用将导致模态出现.
= link_to edit_evaluation_path(evaluation), remote: true
Run Code Online (Sandbox Code Playgroud)
但是,当尝试从链接打开一个新选项卡时(例如,通过鼠标中键单击它)我一直收到ActionController::UnknownFormat: ActionController::UnknownFormat错误,因为该操作不希望以html格式响应.这是respond_to相应操作的代码:
respond_to do |format|
format.js
end
Run Code Online (Sandbox Code Playgroud)
如何阻止用户在另一个选项卡或窗口中打开链接?我有义务改变link_to一个button_to吗?谢谢!
显示不需要href属性的锚点的首选方法是什么(因为它仅用于javascript)?
例如,<a href="#">example 1</a>vs <a href="javascript:;">example 2</a>.
我有 6 个不同的链接,每个链接都将调用不同的 Ajax 函数。
我使用这个<a href>标签是因为我希望它显示为一个链接....我可以使用这个标签来调用 Ajax 函数吗?或者它只适用于 URL 链接?
谢谢!
我在Internet Explorer上遇到了一个奇怪的错误(目前版本为8,但与7有相同的问题).点击以下链接时:
<a href="#">Hello</a>
Run Code Online (Sandbox Code Playgroud)
无论如何,页面都完全重新加载.
但是这样的链接:
<a>Hello</a>
Run Code Online (Sandbox Code Playgroud)
将正常工作,而不是重新加载整个页面.
IE中是否存在某种可能导致此功能发生变化的设置?
信息:我已将安全设置设置为低,并已禁用所有插件以及"启用第三方插件 "选项.
任何建议都有帮助,谢谢.
编辑:这是我正在测试的
<a href="#" id="btnAddStuff" runat="server" onclick="displayAddStuff();" style="cursor:pointer;">
<asp:Literal ID="litAddStuff" runat="server" Text="Add Stuff" /></a>
Run Code Online (Sandbox Code Playgroud)
编辑#2:我已经用多个版本的IE测试了这个.干净的安装它可以正常工作.但是,在具有不同设置的随机用户计算机上进行测试会导致问题.
编辑#3:感谢您对如何使此代码更好的回复.虽然我很欣赏,但我的问题是,如果有人知道Internet Explorer中是否存在可配置的设置,这些设置会导致浏览器以不同的方式运行上述代码?
现在我使用:
href="javascript:void(0)"
Run Code Online (Sandbox Code Playgroud)
为我的 a 标签。
但是,我发现这很混乱,并且它也会在鼠标悬停时在 FireFox 中显示给用户。
我正在考虑做的是用普通的 p 标签替换我的链接,并在 JavaScript 中设置事件处理程序。
澄清:
这仅适用于支持 JavaScript 的现代浏览器。我目前还不关心可访问性。
如果我使用<a>标记点击事件来触发ajax调用,并且我不希望链接实际上去任何地方,那么href属性的正确值是什么?
它是'#'还是只是留空?
(我理解这带来的可访问性问题).
让我们假设您必须创建一个没有意义的JavaScript链接href.(我知道这种做法值得怀疑.)在这种情况下,为什么有这么多人使用......
<a href="javascript:void(0);"> My link </a>
Run Code Online (Sandbox Code Playgroud)
知道void(0)评估结果undefined,我可以简单地使用以下逻辑吗?
<a href="javascript:undefined;"> My link </a>
Run Code Online (Sandbox Code Playgroud)