Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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 JQuery可点击图像+;单独包装_Javascript_Jquery - Fatal编程技术网

Javascript JQuery可点击图像+;单独包装

Javascript JQuery可点击图像+;单独包装,javascript,jquery,Javascript,Jquery,我的媒体对象设置如下: <div class="row chatrow" userid='123'> <div class="media"> <a class="pull-left" href="#"> <img class="media-object img-circle" src='image1.png' style="display: block;"> </a

我的媒体对象设置如下:

<div class="row chatrow" userid='123'>
     <div class="media">
          <a class="pull-left" href="#">
              <img class="media-object img-circle" src='image1.png' style="display: block;">
          </a>
         <div class="media-body">
             <h4 class="media-heading">User 1</h4>
             Hello, how are you doing?
         </div>
    </div>
</div>

但每次单击时都会重定向。是否可以防止直接点击图像?

您需要使用
stopPropagation
方法停止事件冒泡:
$('a')。在('click')上,函数(e){
警报(“链接”);
e、 停止传播();
});
$('.chatrow')。在('click',function()上{
警报(“聊天室”);
//window.location.href=“chat.php?id=“+$(this.attr('userid');
});

用户1
你好,你好吗?

您需要在a标记上返回false语句

返回false;防止该事件传播(或“冒泡”) 大教堂。你可能不知道这一点是什么时候 发生在一个元素上,该事件在每个父元素上触发 元素。假设你在盒子里有一个盒子。两个盒子 有点击事件。单击内部框,单击将显示 也在外盒上触发,除非您阻止传播


来源:

psst,您从未声明过
e
。与下面的答案相比,这个答案有什么好处?在这个答案中,您明确表示希望防止事件冒泡<代码>返回false
也会执行此操作,但会隐式执行。只需选择您更喜欢的一个。尝试
$('.chatrow a')。在('click',function(){})
上,这是真的,在jQuery的情况下
返回false
也将
stopPropagation
以及
preventDefault
$('a').on('click',function() {
    console.log('yes');
})
$('.chatrow').on('click',function() {
    window.location.href = "chat.php?id=" + $(this).attr('userid');
})
    $('a.pull-left').on('click',function(e) {
        console.log('yes');
        return false;
    })
    $('.chatrow').on('click',function() {
        //window.location.href = "chat.php?id=" + $(this).attr('userid');
        console.log('chatrow');
    });