我是用事件监听的方法,代码如下,见笑了。大家都来说说自己的方法哦:function addLoadListener(fn){
if (typeof window.addEventListener != 'undefined'){
window.addEventListener('click', fn, false);
}
else if (typeof document.addEventListener != 'undefined'){
document.addEventListener('click', fn, false);
}else if (typeof window.attachEvent != 'undefined'){
var all=document.all;
for(var i=0;i<all.length;i++){
all[i].attachEvent('onclick', fn);
}
}else{
var oldfn = window.onclick;
if (typeof window.onclick != 'function'){
window.onclick = fn;
}
else{
window.onclick = function(){
oldfn();
fn();
}
}
}
}
var tt="tt";
var domain=document.domain.toLowerCase();function func(event){
var target=event.target || event.srcElement;
var reg=new RegExp(domain);
if(target.tagName.toLowerCase()=="a"){
if(!reg.exec(target.href.toLowerCase()) || domain==''){
var flag=window.confirm("不是本站的链接,存在一定的风险,是否继续访问?");
if(!flag){
//other browser
if(event.stopPropagation){
event.stopPropagation(); //停止冒泡
event.preventDefault(); //阻止事件的默认行为
}else{//IE
window.event.cancelBubble = true;//停止冒泡
window.event.returnValue = false;//阻止事件的默认行为
}
}
}else{
//alert("OK1");
}
}
}
addLoadListener(func);
if (typeof window.addEventListener != 'undefined'){
window.addEventListener('click', fn, false);
}
else if (typeof document.addEventListener != 'undefined'){
document.addEventListener('click', fn, false);
}else if (typeof window.attachEvent != 'undefined'){
var all=document.all;
for(var i=0;i<all.length;i++){
all[i].attachEvent('onclick', fn);
}
}else{
var oldfn = window.onclick;
if (typeof window.onclick != 'function'){
window.onclick = fn;
}
else{
window.onclick = function(){
oldfn();
fn();
}
}
}
}
var tt="tt";
var domain=document.domain.toLowerCase();function func(event){
var target=event.target || event.srcElement;
var reg=new RegExp(domain);
if(target.tagName.toLowerCase()=="a"){
if(!reg.exec(target.href.toLowerCase()) || domain==''){
var flag=window.confirm("不是本站的链接,存在一定的风险,是否继续访问?");
if(!flag){
//other browser
if(event.stopPropagation){
event.stopPropagation(); //停止冒泡
event.preventDefault(); //阻止事件的默认行为
}else{//IE
window.event.cancelBubble = true;//停止冒泡
window.event.returnValue = false;//阻止事件的默认行为
}
}
}else{
//alert("OK1");
}
}
}
addLoadListener(func);
解决方案 »
- JS代码跟bug检查工具
- java简单的网络聊天程序
- js检测对象类型方法的不同
- 加载js代码前和后结果不一样,研究动态菜单的代码时出现问题
- 哪位帮我看下这段代码有什么问题?
- 有人搞过js调用公网webservice没?注意:是公网的webservice。提示“权限不够”
- 如何逐行访问 <iframe> 的内容 ?
- htc自定义组件中,如何取得内部的标记?
- 请教各位Radio、select和text级连变化问题!
- 在javascript里如何连接一个变量和字符串,(小女生求助,急,谢谢各位大虾)
- js读取二进制图片数组的问题
- 用window.open("aaa.html",_self)打开网页后后退保持前一个网页的状态
第一点,可以用jQuery $("a")把所有连接都加上自己想加的东西
if(arguments.length < 3){
return;
}
if(!(elem instanceof HTMLElement || elem === document)){
return;
}
if(typeof fn !== "function"){
return;
}
if(elem.addEventListener){
elem.addEventListener(type, fn, false);
}else if(elem.attachEvent){
elem.attachEvent('on' + type, fn);
}else{
if(!elem.eventHandles){
elem.eventHandles = {};
}
if(!elem.eventHandles[type]){
elem.eventHandles[type] = [];
}
elem["on"+type] = function(){
var handles = elem.eventHandles[type];
for(var i in handles){
handles[i]();
}
}
}
}
function func(event){
var target = event.target || event.srcElement;
if(target.tagName.toLowerCase() == "a"){
var domain = document.domain,
reg=new RegExp(domain, "i");
if(!reg.test(target.href) || domain==''){
var flag=window.confirm("不是本站的链接,存在一定的风险,是否继续访问?");
if(!flag){
//other browser
if(event.stopPropagation){
event.stopPropagation(); //停止冒泡
event.preventDefault(); //阻止事件的默认行为
}else{//IE
window.event.cancelBubble = true;//停止冒泡
window.event.returnValue = false;//阻止事件的默认行为
}
}
}else{
//alert("OK1");
}
}
}
addLoadListener(document, "click", func);
if(arguments.length < 3){
return;
}
if(!(elem instanceof HTMLElement || elem === document)){
return;
}
if(typeof fn !== "function"){
return;
}
if(elem.addEventListener){
elem.addEventListener(type, fn, false);
}else if(elem.attachEvent){
elem.attachEvent('on' + type, fn);
}else{
if(!elem.eventHandles){
elem.eventHandles = {};
}
if(!elem.eventHandles[type]){
elem.eventHandles[type] = [];
}
elem.eventHandles[type].push(fn);
elem["on"+type] = function(event){
var handles = this.eventHandles[type];
for(var i in handles){
handles[i](event);
}
}
}
}
function func(event){
var target = event.target || event.srcElement;
if(target.tagName.toLowerCase() == "a"){
var domain = document.domain,
reg=new RegExp(domain, "i");
if(!reg.test(target.href) || domain==''){
var flag=window.confirm("不是本站的链接,存在一定的风险,是否继续访问?");
if(!flag){
//other browser
if(event.stopPropagation){
event.stopPropagation(); //停止冒泡
event.preventDefault(); //阻止事件的默认行为
}else{//IE
window.event.cancelBubble = true;//停止冒泡
window.event.returnValue = false;//阻止事件的默认行为
}
}
}else{
//alert("OK1");
}
}
}
addLoadListener(document, "click", func);
var e = event ? event : window.event;
if(document.all){
e.target = e.srcElement;
e.stopPropagation = function(){
window.event.cancelBubble = true;
}
e.preventDefault = function(){
window.event.returnValue = false;
}
}
return e;
}
function addLoadListener(elem, type, fn){
if(arguments.length < 3){
return;
}
if(!(elem.nodeType === 1 || elem === document)){
return;
}
if(typeof fn !== "function"){
return;
}
if(!elem.eventHandles){
elem.eventHandles = {};
}
if(!elem.eventHandles[type]){
elem.eventHandles[type] = [];
}
elem.eventHandles[type].push(fn);
elem["on"+type] = function(event){
var e = wrapEvent(event);
var handles = this.eventHandles[type];
for(var i in handles){
handles[i](e);
}
}
}
function func(event){
var target = event.target;
if(target.tagName.toLowerCase() == "a"){
var domain = document.domain,
reg=new RegExp(domain, "i");
if(!reg.test(target.href) || domain==''){
var flag=window.confirm("不是本站的链接,存在一定的风险,是否继续访问?");
if(!flag){
event.stopPropagation(); //停止冒泡
event.preventDefault(); //阻止事件的默认行为
}
}else{
//alert("OK1");
}
}
}
addLoadListener(document, "click", func);
要实现其它方式,可以选择合适的其它标签,如DIV,INPUT等。