[英]Allow default action for target event and prevent default action for parent
我们有这种标记:
<a href="#">
<input type="file" />
</a>
默认情况下,当您单击输入时,将显示 “选择文件”窗口,并且位置更改为“#”。 如何防止浏览器更改位置?
我尝试过的
//location still changes
$('input').bind('click', function (e) {
e.stopPropagation();
});
//prevents "Select file" window
$('input').bind('click', function (e) {
e.preventDefault();
});
//prevents "Select file" window
$('a').bind('click', function (e) {
e.preventDefault();
});
尝试将$(e)
更改$(e)
e.
e.preventDefault();
在执行$(e).preventDefault()
导致错误
Uncaught TypeError: Object [object Object] has no method 'preventDefault'
您需要检查用户是否单击了a
元素而不是输入文件。 这应该工作。
$('a').click(function(e) {
if ($(e.target).is('a')) {
e.preventDefault();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.