在窗口上添加click事件,但忽略所有以https开头的链接
Add click event on window, but ignore all links that start with https
我想在窗口上添加点击事件,但要排除所有以https开始的链接。我尝试了一些方法,但我不确定该往哪个方向走。例如
$(window).not("a[href^='https']").click(function(){
console.log('Clicked');
});
或
$(window).click(function(evt){
//somehow check click argument to inspect outgoing URL maybe?
});
试试这样:
$(window).on('click', 'a', function(evt){
if(this.href.indexOf('https') == 0)
return;
//other logic here
});
与on
方法,我将事件附加到窗口,但它只有在与a
选择器匹配的元素上执行时才会触发。然后我检查元素href
属性,看看它是否以https开始,如果是,我退出早期。
你可以使用e.stopPropagation()
,因为你已经阻止了点击链接时的父点击事件
$(window).click(function(){
console.log('Clicked');
})
$("a[href^='https']").click(function(e){
e.stopPropagation();
console.log('This was a link');
})
可以使用window.location.protocol:
$(window).click(function(evt){
if (window.location.protocol != "https:"){
alert("clicked but not https");
}
else{
alert("clicked and yes https");
}
});
jsfiddle here: http://jsfiddle.net/fn4Lk263/
相关文章:
- 对id以某个字符串开头的元素进行计数
- 如果元素's的ID以数字开头
- 关于引入外部javascript文件的问题&css通过https
- jquery ajax https调用给出ERR_INSECURE_RESPONSE
- 如何通过安全的https连接在javascript中使用基于soap xml的Web服务
- $https请求的安全性
- https.request ignoring rejectUnauthorized
- web配置http到https重定向异常
- HTML:从http到https发布表单
- Node.js https获取请求ECONNRESET
- AngularJS指令模板开头的注释
- 删除LINES开头和结尾的空白
- CasperJS(phantom 1.9.7),从昨天起就无法连接https
- Angular http.get没有'我不喜欢在开头和结尾加方括号的文本文件
- JQuery手机.网站上只有一个https页面
- Javascript for HTTPS
- 如何在javascript中使用string.replace.将匹配字符串开头的两个不同表达式替换为null
- 当URL以m.(网站).com开头时,浏览器需要自行调整大小
- 如果文本或值以字符开头,请运行函数
- 在窗口上添加click事件,但忽略所有以https开头的链接