<a> onClick 事件,但仍继续执行 href 目标
<a> onClick event but still proceed to href target
我有一个链接如下:
<a onclick="runSomeJsonpCall();" href="www.goherenext.com"> make this work </a>
javascript 方法执行基本的 JSONP 调用,如下所示:
function runSomeJsonpCall() {
var script = document.createElement("script");
script.src = "http://jsonpurl.com?parameter1=" + "someparam";
document.body.appendChild(script);
}
我的 JSONP 调用从未实际执行,除非我向 onlick 事件返回 false,但当然 href 不会导航到目标。
如何使这两件事都起作用?
注意:我只能使用纯JavaScript,没有库
您应该阻止默认事件... 看那里:事件.预防默认类似的东西...
function runSomeJsonpCall(event) {
if (!event) var event = window.event;
if (event.preventDefault) {
event.preventDefault();
}else{
// IE
event.returnValue = false;
}
var script = document.createElement("script");
script.src = "http://jsonpurl.com?parameter1=" + "someparam";
document.body.appendChild(script);
// you should wait for jsonp loading
// here i use an ID to retreive the element but you can do your way ...
setTimeout("changeLocation('"+ document.getElementById('linkID').href +"')", 1000);
}
changeLocation(location) {
window.location.href = location;
}
就个人而言,我真的不喜欢使用内联点击属性,我会使用 addEventListener 或 attachEvent ...我认为这是一种更糟糕的方式:)
function runSomeJsonpCall(obj) {
//...
document.location=obj.getAttribute('href');
return false;
}
<a onclick="runSomeJsonpCall(self);" href="http://www.goherenext.com"> make this work </a>
另请注意 href 链接中的 http://
尝试:
<a onclick="runSomeJsonpCall();" href="#"> make this work </a>
和:
function runSomeJsonpCall() {
var script = document.createElement("script");
script.src = "http://jsonpurl.com?parameter1=" + "someparam";
document.body.appendChild(script);
window.location("www.goherenext.com");
}
相关文章:
- 在单击href链接的同时下载文件
- 如果href包含X,请更改href
- 锚点元素的href属性自动更改
- 锚点元素不't使用svg时,请打开EDGE上的href
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- Href:当前DIV中的目标ID
- href属性内的javascript函数
- 为什么继续;语句冻结浏览器
- ng绑定和ng href问题.ng href未从控制器加载数据
- Canvas+svg路径动画,在路径中的特定点暂停一段时间,然后继续
- 继续使用javascript中的setTimeout
- 如何将href设置为不同的值
- 如何提取“;href"最近列表项中的属性值
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 渲染”;a“;React.js中的可选href
- 在类似Facebook的社交墙中添加href
- 当一些承诺失败时,如何继续使用$q.all()
- onClick 事件,但仍继续执行 href 目标
- 使用Jquery Mobile时,HTML A HREF会继续添加#和基本url