Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript检查字符串的链接&;发射模态_Javascript_Hyperlink - Fatal编程技术网

javascript检查字符串的链接&;发射模态

javascript检查字符串的链接&;发射模态,javascript,hyperlink,Javascript,Hyperlink,有一个包含链接的页面 单击链接时,我希望Javascript(或其他)检查链接是否包含(例如奶酪) 如果有,则应启动显示链接的模式 例如: --单击此按钮时,应正常进行 --单击此按钮时,应启动模式 --单击此按钮时,应正常进行 --单击此按钮时,应正常进行 模态应显示完整链接 感谢您的帮助 下面是我到目前为止得到的 我的具体问题是: 问题:当我单击网站上的任何链接时,会打开一个模式。它似乎针对所有链接,而不仅仅是包含特定单词的链接 jQuery(函数(){ jQuery(文档)。在('clic

有一个包含链接的页面

单击链接时,我希望Javascript(或其他)检查链接是否包含(例如奶酪)

如果有,则应启动显示链接的模式

例如:

--单击此按钮时,应正常进行

--单击此按钮时,应启动模式

--单击此按钮时,应正常进行

--单击此按钮时,应正常进行

模态应显示完整链接

感谢您的帮助

下面是我到目前为止得到的

我的具体问题是: 问题:当我单击网站上的任何链接时,会打开一个模式。它似乎针对所有链接,而不仅仅是包含特定单词的链接

jQuery(函数(){
jQuery(文档)。在('click',jQuery('a')上,函数(事件){
var e=事件;
违约事件;
var=event.target;
if(jQuery(that).is(“span”)){
that=jQuery(event.target).parent();
}
if(jQuery(that.attr('href')){
var url=jQuery(that).attr('href').toLowerCase();
if(jQuery.browser.webkit | | jQuery.browser.mozilla&&(url.indexOf('.my.test.here/')>=0)){
(e,那);
}
else if(jQuery.browser.webkit&&|jQuery.browser.mozilla(url.indexOf('something.else/')>=0)){
var-total=jQuery('.total');
ie_指针(e,总的来说,那);
}
}       
});
});
函数ie_指针(事件、对象、that){
event.preventDefault();
如果(那){
var url=jQuery(that.attr('href');
}
否则{
var url=jQuery(obj.attr('href');
}
jQuery(“”).hide().appendTo(document.body).fadeIn();
jQuery(obj).after('请将下面的蓝色链接复制到Internet Explorer中

此表单目前在Firefox和Chrome中不可用。

'+url+''); } 函数close_modal(){ fadeOut(函数(){jQuery(this.remove()}); jQuery('.modal content').fadeOut(函数(){jQuery(this.remove()}); }
您的单击事件处理程序是为事件委派设置的,因此它仅在
事件时响应。目标
,因为它们基于
导航器.userAgent
,这一直是一种不可靠的浏览器嗅探方式


下面是一个精简的示例,使用标准的,获取包含其
href
中某个字符串的链接来做一件事,而所有其他链接则做其他事情:

var url=“控制台”;
//只需使用属性通配符选择器即可确保
//你只是在选择你首先关心的链接
$(“a[href*=”“+url+””])。在(“单击”上,函数(evt){
evt.preventDefault();
警告(“你点击了我关心的链接!”);
});





有一个包含链接的页面。请始终在问题中包含您正在使用的代码。没有这个我们帮不了你。此外,堆栈溢出不是发布要编写代码的请求的地方。你的问题不是一个真正的问题,而是要求我们为你写一个解决方案。我们这里不这么做。谢谢斯科特的回复。很抱歉。我知道我的代码很糟糕,我不想影响任何想用更简单的解决方案或其他方法提供帮助的人。谢谢你的提醒。是的,但是你仍然没有问一个具体的问题,这就是堆栈溢出的作用。你是说“这就是我想要的,这就是我已经走了多远。你能帮我写下剩下的吗?”。我们在这里不是这样做的。如果您有特定的问题,请将其与您的尝试和结果一起发布。再次感谢您的反馈。我现在用我的具体问题更新了上述内容。(我的训练轮还在运转)感谢斯科特提供了最全面的答案。你不仅回答了我的问题,还拆开了我的“相当糟糕”的代码,一路教育我。非常感谢。这个小蚱蜢,确实有很多东西要学。再次感谢。@OffDutyNinja好吧,我已经做了25年的IT培训师,所以当我回答问题时,我很难不教。很高兴你欣赏它!
   jQuery(function () {


jQuery(document).on('click', jQuery('a') , function(event){

    var e = event;  
    event.preventDefault;
    var that = event.target;
    if(jQuery(that).is("span")){
        that = jQuery(event.target).parent();   
    }
    if(jQuery(that).attr('href')){
        var url = jQuery(that).attr('href').toLowerCase();
        if(jQuery.browser.webkit || jQuery.browser.mozilla && (url.indexOf('.my.test.here/') >=0)) {
            ie_pointer(e, that);
        }
        else if (jQuery.browser.webkit && || jQuery.browser.mozilla (url.indexOf('something.else/') >=0)){
            var overall = jQuery('.overall');
            ie_pointer(e, overall, that);
        }
    }       
});

});

function ie_pointer(event, obj, that){
    event.preventDefault();
    if(that){
    var url = jQuery(that).attr('href');
    }
    else{
    var url = jQuery(obj).attr('href');
    }
    jQuery('<div class="modal-backdrop"></div>').hide().appendTo(document.body).fadeIn();
    jQuery(obj).after('<div class="modal-content" style="padding:10px"><h3 style="color:#333">Please copy the blue link below into Internet Explorer</h3><p style="font-size: 1.2rem; color:#333">This form is currently unavailable in Firefox & Chrome.</p><h4 style="color: #0099cc; max-width: 400px; word-wrap:break-word;">'+url+'</h4><i onclick="close_modal()" class="icon-remove"></i></button></div>');
}

function close_modal(){
    jQuery(".modal-backdrop").fadeOut(function(){jQuery(this).remove()});
    jQuery('.modal-content').fadeOut(function(){jQuery(this).remove()});
    }
jQuery(document).on('click', jQuery('a') , function(event){
if(jQuery(that).is("span")){
    that = jQuery(event.target).parent();   
}
if(jQuery.browser.webkit || 
   jQuery.browser.mozilla && (url.indexOf('.my.test.here/') >=0)) {
      ie_pointer(e, that);
} else if (jQuery.browser.webkit && || 
           jQuery.browser.mozilla (url.indexOf('something.else/') >=0)){
      var overall = jQuery('.overall');
      ie_pointer(e, overall, that);
}
jQuery.browser.mozilla (url.indexOf('something.else/') >=0))