Javascript 如何在div中的输入元素外部单击?
这可能很容易,但当我在文本框外单击以警告javascript中的某些内容时,我想不出任何方法,但当我在文本内单击时,什么都不会发生。输入文本在div元素内 那么,让我们假设我的html如下所示: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'
<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功能,即使是在文本上。谢谢您的时间!当你尝试这样做时会发生什么?