Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript div父级上的preventDefault阻止输入子级获得焦点_Javascript_Jquery - Fatal编程技术网

Javascript div父级上的preventDefault阻止输入子级获得焦点

Javascript div父级上的preventDefault阻止输入子级获得焦点,javascript,jquery,Javascript,Jquery,我有一个包含文本输入的div。在该div的mousedown上,我需要阻止默认值,但是当我单击输入以键入一些文本时,由于div(父)阻止默认值,它不会获得焦点 HTML 有可能解决这个问题吗?测试e.target,如果它是输入,不要preventDefault()您可以添加e.stopPropagation()用于输入。它将阻止事件传播到父级div $(.test”).on('mousedown',函数(e){ e、 预防默认值(); }); $(“.test input”).on('mous

我有一个包含文本输入的div。在该div的mousedown上,我需要阻止默认值,但是当我单击输入以键入一些文本时,由于div(父)阻止默认值,它不会获得焦点

HTML


有可能解决这个问题吗?

测试
e.target
,如果它是输入,不要
preventDefault()
您可以添加
e.stopPropagation()用于输入。它将阻止事件传播到父级
div

$(.test”).on('mousedown',函数(e){
e、 预防默认值();
});
$(“.test input”).on('mousedown',函数(e){
e、 停止传播();
});


但我很想知道为什么会取消焦点?@RajaprabhuAravindasamy-因为这是单击输入的默认行为。其他答案有效,但我选择此解决方案,因为当输入获得焦点后,我单击父div,它会自动触发输入上的模糊,而其他解决方案(测试e.target)在我点击输入时不会触发模糊。谢谢
<div class="test">
    <input type="text" class="input1" />
</div>
$(".test").on('mousedown', function(e){
    e.preventDefault();
});