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,但冒泡本身不会受到添加它们时的影响。