Javascript 使用jQuery单击父级时触发“提交”按钮的单击

Javascript 使用jQuery单击父级时触发“提交”按钮的单击,javascript,jquery,html,css,input,Javascript,Jquery,Html,Css,Input,我有一个包裹在div中的submit按钮。我想在单击div时触发submit按钮上的click事件。问题是,此单击事件冒泡并导致堆栈溢出/无限循环。当我尝试停止子单击事件的传播时,问题没有得到解决 HTML: 这仍然会导致堆栈溢出错误。返回false也是如此: $('.container').click(function () { var input = $(this).find('input'); input.trigger('click'); return false

我有一个包裹在div中的submit按钮。我想在单击div时触发submit按钮上的click事件。问题是,此单击事件冒泡并导致堆栈溢出/无限循环。当我尝试停止子单击事件的传播时,问题没有得到解决

HTML:

这仍然会导致堆栈溢出错误。返回false也是如此:

$('.container').click(function () {
    var input = $(this).find('input');
    input.trigger('click');
    return false;
});

谢谢你的帮助

不绑定按钮单击容器内的事件单击一个。应该是这样

$('.container').click(function() {
    var input = $(this).find('input');
    input.trigger('click');
});

$('input').click(function(e) {
    e.stopPropagation();
    alert('button clicked');
});

代码的问题是,容器单击在其相应的单击处理程序注册之前触发内部按钮单击,因此它没有机会停止事件冒泡。

不绑定容器内的按钮单击事件单击一。应该是这样

$('.container').click(function() {
    var input = $(this).find('input');
    input.trigger('click');
});

$('input').click(function(e) {
    e.stopPropagation();
    alert('button clicked');
});

您的代码的问题是,容器单击在其相应的单击处理程序注册之前触发内部按钮单击,因此它没有机会停止事件冒泡。

您到底想在这里实现什么?我有点困惑,因为如果您希望整个div都可单击,那么为什么要在内部有一个按钮?我在这里遗漏了什么或者正确理解了这个问题吗?问得好,@Sai:输入在一个div中,需要有一些:在应用样式之前,防止输入被点击。你到底想在这里实现什么?我在这里有点困惑,因为,如果你想让整个div都可以点击,那为什么里面有一个按钮呢?问得好,@Sai:输入在一个div中,需要有一些:before样式应用于它,以防止输入被点击。很简单,“为什么我没有想到这个”工作解决方案。非常感谢。很简单,‘为什么我没有想到那个’有效的解决方案。非常感谢。
$('.container').click(function() {
    var input = $(this).find('input');
    input.trigger('click');
});

$('input').click(function(e) {
    e.stopPropagation();
    alert('button clicked');
});