Fiddle: http://jsfiddle.net/ugzux/ http://jsfiddle.net/ugzux/
如您所见,我有一个带有禁用(通过 javascript)提交按钮的表单。
无论如何,我希望能够将单击事件绑定到它,这样我就可以在允许提交表单之前对输入上需要修复的内容进行一些有趣的指示(即再次启用按钮)。
但是,禁用提交按钮显然也会禁用绑定到该按钮的任何单击事件,即使它们是在禁用后绑定的 - 知道如何解决这个问题吗?
实际上,一种解决方案是停止禁用该按钮,而是创建一个事件
$('form').submit(function(event){
event.preventDefault();
});
不过,我想知道禁用输入和 javascript 事件的来龙去脉,以及是否有解决方法,因为我以前从未遇到过这种行为。
在这个中找到了这个question https://stackoverflow.com/questions/921161/remove-disabled-attribute-onclick-of-disabled-form-field -
Firefox,或许还有其他浏览器,禁用表单字段上的 DOM 事件
那些被禁用的。在禁用的表单字段开始的任何事件都是
完全取消并且不会向上传播 DOM 树。纠正我
如果我错了,但是如果您单击禁用按钮,则来源
该事件为禁用按钮,点击事件为完全
歼灭。浏览器实际上不知道按钮被点击,
它也不传递点击事件。就好像您点击了
网页上的黑洞。
我认为您可以通过将按钮包装在 div 中并在 div 的点击事件上触发逻辑来“伪造”点击。但是,如上所述,禁用元素上的事件似乎不会在 DOM 树中向上冒泡。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)