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 jQuery~两次点击事件是否重叠?_Javascript_Jquery_Events - Fatal编程技术网

Javascript jQuery~两次点击事件是否重叠?

Javascript jQuery~两次点击事件是否重叠?,javascript,jquery,events,Javascript,Jquery,Events,我有一个容器元素 <div id="myContainer"> <form action="" method="post"> Radio: <input type="radio" name="myRadio" id="myRadio" value="1" /> </form> </div> 那么,如果我给$'myContainer'分配了一个点击事件,也给$'myRadio'分配了一个点击事件,有没有办法让它们都触发呢?

我有一个容器元素

<div id="myContainer">
  <form action="" method="post">
   Radio: <input type="radio" name="myRadio" id="myRadio" value="1" />
  </form>
</div>
那么,如果我给$'myContainer'分配了一个点击事件,也给$'myRadio'分配了一个点击事件,有没有办法让它们都触发呢?目前,由于表单元素上方有一个click事件,返回false可停止页面跳转,因此我无法单击单选按钮


有办法解决这个问题吗?或者我需要在选择器中更加具体?甚至$'myContainer:notmyRadio'?这是否有效?

停止跳页使用,而不是返回false;目前正在阻止事件的进展


自然行为是for,因此您需要做的就是让两个处理程序都启动,而不是通过return false干扰气泡:

您可以执行以下操作

$('#myContainer, #myRadio').click(function(event){

    event.stopPropagation(); //This will stop the bubble so it only fires once per element
    switch(event.srcElement)
    {
        case 'HTMLFormElement':
            //The Div / Form
        break;
        case 'HTMLInputElement':
            //The input itself
        break;   
    }
    return false;
})​

例如,您需要添加警报

Ah,这很有意义。如果我使用的表单是使用javascript注入的,会有什么不同吗?正如dom加载完成后显示的那样,因此我需要在dom加载后再次对其进行操作。@davideyell-如果需要动态附加事件单击处理程序,则需要使用.live或.delegate,但冒泡本身不会受到添加它们时的影响。