javascript - 使用 jQuery 单击父项时触发提交按钮的单击

标签 javascript jquery html css input

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

HTML:

<div class="container">
    <input type="submit" value="OK">
</div>

jQuery:

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

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

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

感谢帮助!

最佳答案

不要在容器内绑定(bind)按钮点击事件。应该是这样的

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

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

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

关于javascript - 使用 jQuery 单击父项时触发提交按钮的单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26390149/

相关文章:

javascript - 如何从 javascript 函数写入 html?

javascript - html5手机抓拍相机并生成预览框

Chrome 的 Javascript/JQuery 事件阻止不安全内容

javascript - 闪烁的替换图像

javascript - 在 jquery 和 keydrown 插件中为 lshift down 分配函数?

javascript - 使用 grunt-shell 和 grunt-ssh 运行的 Grunt 同步任务

javascript - 如何在列表使用 slideup 和 slidedown 时使用 onclick 更改图像

javascript - jQuery 手机 : How to set background color of text input

html - 这些 block 是怎么回事

javascript - 由于标签,文本输入字段有时不响应