首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在div内部的输入元素外单击onclick?

问如何在div内部的输入元素外单击onclick?
EN

Stack Overflow用户
提问于 2014-10-10 17:22:04
回答 3查看 1.9K关注 0票数 1

这可能很简单,但当我单击textbox外警告javascript中的内容时,我什么也想不出来,但是当我单击文本内部时,div元素中没有任何happen.The输入文本。

因此,让我们假设我的html如下所示:

代码语言:javascript
复制
<div id="myone" onclick="javascript: myfunc();">
<input type="text" id="myInput"></input>
</div>

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

怎么改变呢?

非常感谢你!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-12 16:38:37

你应该利用这个条件。e.target!我是==

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

在您的click函数中使用它,如下所示,并看到它的作用:

​

代码语言:javascript
复制
$('.divover').on('click', function(e) {
  if (e.target !== this) return;
  thefunc();
});


var thefunc = function myfunc() {
  alert('ok');
}
代码语言:javascript
复制
.divover {
  padding: 20px;
  background: yellow;
}
span {
  background: blue;
  color: white;
  padding: 8px;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='divover'>somelabel:
  <span><input type="text"  class="as" name="forename"></span>
</div>

​

票数 0
EN

Stack Overflow用户

发布于 2014-10-10 17:25:47

这样做:

代码语言:javascript
复制
var div = document.getElementById('myone');
var funct = function(){
    var input = div.querySelector("#myInput");
    return false;
};

div.onclick = funct;
票数 1
EN

Stack Overflow用户

发布于 2014-10-10 17:40:15

如果你仔细做这件事,这会成功的。

代码语言:javascript
复制
<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');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26304797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档