Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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 在后台div上打开新窗口,单击_Javascript_Jquery_Css_Javascript Events - Fatal编程技术网

Javascript 在后台div上打开新窗口,单击

Javascript 在后台div上打开新窗口,单击,javascript,jquery,css,javascript-events,Javascript,Jquery,Css,Javascript Events,我正在使用CSS将背景图像应用到一个div标签上,该标签包装了网站上的所有内容 <div id="mainBack"> <%-- All other content goes here --%> </div> 问题: 我试图弄清楚,每当点击背景图像时,如何打开一个新的浏览器窗口,指向不同的URL。我曾尝试使用jQuery来实现这一点,但我实现它的方式实际上会导致每次单击网站中的任何内容都会打开一个新窗口。执行此操作的jQuery click事件(尽管不正

我正在使用CSS将背景图像应用到一个div标签上,该标签包装了网站上的所有内容

<div id="mainBack">
  <%-- All other content goes here --%>
</div>
问题: 我试图弄清楚,每当点击背景图像时,如何打开一个新的浏览器窗口,指向不同的URL。我曾尝试使用jQuery来实现这一点,但我实现它的方式实际上会导致每次单击网站中的任何内容都会打开一个新窗口。执行此操作的jQuery click事件(尽管不正确)如下所示:

$('#mainBack').click(function () {
    window.open('http://InternalBusProcess:8083/HyperFix.jpg', 'HyperFix');
});

提前感谢您对我如何以实际可行的方式实施此行为提出的建议

您可以停止
单击
事件在
#mainBack
元素顶部的传播

例如:

<div id="mainBack">
    <a href="#">Some Link</a>
</div>

<script>
$('a').on('click', function (event) {
    event.stopPropagation();
});
</script>

以下是使用
事件的演示。目标
:(请注意,事件处理程序已附加到
主体
元素,但警报仅在单击
#mainBack
元素时显示)

您可以停止
单击
mainBack
元素顶部元素的
事件的传播

例如:

<div id="mainBack">
    <a href="#">Some Link</a>
</div>

<script>
$('a').on('click', function (event) {
    event.stopPropagation();
});
</script>

下面是使用
事件的演示。target
:(请注意,事件处理程序附加到
body
元素,但仅当您单击
#mainBack
元素时,警报才会显示)

您可以通过向函数添加一行代码和事件参数来检查单击的元素是否是div或其他内容:

$('#mainBack').click(function (event) {
    if(event.target==this)
        window.open('http://InternalBusProcess:8083/HyperFix.jpg', 'HyperFix');
});

通过向函数添加一行代码和事件参数,可以检查单击的元素是否为div或其他内容:

$('#mainBack').click(function (event) {
    if(event.target==this)
        window.open('http://InternalBusProcess:8083/HyperFix.jpg', 'HyperFix');
});

谢谢你的帮助,贾斯珀。一个问题是,.on()似乎没有被识别。那么使用.bind。On在jQuery1.7中是新的。好吧,这就是我认为您将采用它的方向,但我不确定。无论如何,我选择了后一种解决方案,而且效果很好!再次感谢。谢谢你的帮助,贾斯珀。一个问题是,.on()似乎没有被识别。那么使用.bind。On在jQuery1.7中是新的。好吧,这就是我认为您将采用它的方向,但我不确定。无论如何,我选择了后一种解决方案,而且效果很好!再次感谢。