Javascript 如何在div中的输入元素外部单击?

Javascript 如何在div中的输入元素外部单击?,javascript,html,css,Javascript,Html,Css,这可能很容易,但当我在文本框外单击以警告javascript中的某些内容时,我想不出任何方法,但当我在文本内单击时,什么都不会发生。输入文本在div元素内 那么,让我们假设我的html如下所示: <div id="myone" onclick="javascript: myfunc();"> <input type="text" id="myInput"></input> </div> function myfunc() { alert('ok'

这可能很容易,但当我在文本框外单击以警告javascript中的某些内容时,我想不出任何方法,但当我在文本内单击时,什么都不会发生。输入文本在div元素内

那么,让我们假设我的html如下所示:

<div id="myone" onclick="javascript: myfunc();">
<input type="text" id="myInput"></input>
</div>

function myfunc()
{
alert('ok');
}

函数myfunc()
{
警报(“正常”);
}
如何改变这一点

多谢各位

这样做:

var div = document.getElementById('myone');
var funct = function(){
    var input = div.querySelector("#myInput");
    return false;
};

div.onclick = funct;

如果你仔细做的话,这会起作用的

<div id="myone" onclick="javascript: myfunc();">
//your stuff in the clickable division.
</div>

<div style="position:absolute;">
<!--Adjust this division in such a way that, it comes inside your clickable division--><input     
type="text" id="myInput"></input>
</div>



//Your script function/code here
function myfunc()
{
alert('ok');
}

//你的东西在可点击区。
//这里是您的脚本函数/代码
函数myfunc()
{
警报(“正常”);
}

您应该使用此条件

event.target
与此进行比较通常很有用,以确定事件是否由于事件冒泡而被处理。当事件冒泡时,此属性在事件委派中非常有用

在单击功能中使用它,如下所示,并查看它的实际操作:

$('.divover')。在('click',函数(e){
如果(e.target!==此)返回;
thefunc();
});
var thefunc=函数myfunc(){
警报(“正常”);
}
.divover{
填充:20px;
背景:黄色;
}
跨度{
背景:蓝色;
颜色:白色;
填充:8px;
}

somelabel:

你能给我一个jsfiddle吗?谢谢,但是当你点击文本内部时,它与外部一样。我不希望这样,我希望当点击文本时什么也不发生。我不认为让div可以点击而不是让输入可以点击有什么意义。如果使div可单击,则单击div中的任何位置都将启动onclick功能,即使是在文本上。谢谢您的时间!当你尝试这样做时会发生什么?