我有一个模态弹出窗口,我想在单击“阴影”时隐藏,但不会在单击内容时隐藏。为此,我有:
$('#shade').click(function(){
$('#shade').fadeOut();
}).children().click(function(e){
return false;
});
问题是我有一个我要提交的表单,这段代码阻止表单提交,所以我有:
$('#shade-form-submit').click(function(){
document.getElementById('shade-form').submit();
});
但是,这会导致控制台出现以下错误:
[13:07:21.145] TypeError: document.getElementById(...).submit is not a function @ ...
发生了什么事?作为参考,我的<form>
代码:
<form action='.' method='post' id='shade-form'>
<div>
<input type='text' />
</div>
<div>
<div>
<input type='submit' />
</div>
</div>
</form>
答案 0 :(得分:2)
您需要从children()
上的点击处理程序中排除表单输入:
$('#shade')
.click(function(){
$('#shade').fadeOut();
})
.children().not(':input').click(function(e){
return false;
});