[英]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.