如何拦截文档中的链接点击?它必须是跨平台的.
我正在寻找这样的东西:
// content is a div with innerHTML
var content = document.getElementById("ControlPanelContent");
content.addEventListener("click", ContentClick, false);
function ContentClick(event) {
if(event.href == "http://oldurl")
{
event.href = "http://newurl";
}
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
我偶然发现了网站源代码中的以下片段.
<link href="#" id="colour-scheme" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)
这是做什么的?
我收到此错误,我已设法将其缩小到:
<a href="javascript:void();" onclick="myFunction();">aaa</a>
Run Code Online (Sandbox Code Playgroud)
这行代码现在是我的源代码中唯一的东西,我仍然得到标题中的错误.知道为什么会这样吗?
即使用适当的HTML元素(html,head,body等)包围,我仍然会抛出错误.错误显示在Chrome开发者控制台中,如果我包含a,则会显示警报
window.onerror
Run Code Online (Sandbox Code Playgroud)
head标签中的功能.当myFunction()方法实际存在时也会发生.据我所知,上述陈述完全没有错.
有一个基于javascript的界面 - 所以我不需要支持没有JavaScript的工作.
我有一个
<a>Something</a>
Run Code Online (Sandbox Code Playgroud)
带有JS代码的元素,它绑定了click事件 - 因此,我不想在用户点击后重新加载页面.
哪种方式更好?
1. <a href="javascript:void(0)">Something</a>
2. <a href="#" onclick="return false;">Something</a>
Run Code Online (Sandbox Code Playgroud)
每种方法有哪些优缺点?
什么是阻止我的onclick链接导致页面跳转到顶部的最佳方法.
<a name="point1">
<a href="#point1" onclick="blahblah">
<a href="javascript:" onclick="blahblah">
<a href="javascript:null;" onclick="blahblah">
Run Code Online (Sandbox Code Playgroud)
或者是其他东西?
我的mailto网站的所有页面都有按钮,我想在电子邮件正文中写入该页面的引用.
在一个页面我可以
<a class="email" title="Email a friend" href="mailto:?subject=Interesting%20information&body=I thought you might find this information interesting:%20%0d%0ahttp://www.a.com/Home/SiteMap/tabid/589/Default.aspx">Email</a>
Run Code Online (Sandbox Code Playgroud)
但是,我怎样才能为所有页面制作这个通用名称?
我偶尔会看到一个HTML <a>元素,其href属性是一个只有javascript该方案的URI ,以及一个;路径的空语句.
这样做的目的是什么?
它是一样的href="javascript:void(0);"吗?
是否与完全没有href属性相同?
是否与完全没有<a>元素一样?
更新
我看到的确切内容是<a href="javascript:;" style="cursor: default;"></a>.那么这只是一种控制光标图形的方法吗?
可能的重复:
Javascript链接的Href:"#"或"javascript:void(0)"?
为什么使用javascript:"协议"的链接是不好的做法?
问题说..
哪种方法更好?
<a href='javascript:func()' >blah</a>
Run Code Online (Sandbox Code Playgroud)
要么
<a href='#' onclick='func()' >blah</a>
Run Code Online (Sandbox Code Playgroud) 有什么区别
<a onclick="someFunction">
和
<a onclick="someFunction()">
一个使用括号而不是另一个,但使用两者的区别是什么?什么是"正确"的选择?如果我不使用任何href属性会发生什么?
据我所知,在javascript中,using something = someFunc();将该函数的返回值赋给something变量.并且使用something = someFunc;直接将函数(而不是其结果)分配给该变量(并且它主要用于将函数分配给事件).例如,我可以为onclick事件分配一个函数.
但是我不明白在一些html元素内联事件中使用时会发生什么,如示例中所示,因为赋值不是javascript变量,而是html属性,这恰好是一个事件?请解释.
而且,将内联onclick函数分配给锚(a)以及其他元素(例如span div label等)是否有区别?他们有同样的效果吗?
旁注:我一直在这里阅读关于如何在点击链接时运行一个函数,我已经明白是不应该"内联",而是使用不引人注目的javascript.(我提到它是为了避免对此进行辩论),但在我看到的例子中,他们没有提到我在内联时提到的两个选项的区别.
编辑:这个问题是因为在这里他们给出了一个答案,它没有在事件的函数中使用括号,没有人提到需要括号,所以我认为它是有效的.但我不知道使用()与否有什么区别.
如果你想要一个事件或一个空的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)
在跨浏览器兼容性和简洁性方面,最好的方法是什么?