首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript onblur/onfocus

Javascript onblur/onfocus
EN

Stack Overflow用户
提问于 2012-12-29 11:00:47
回答 2查看 247关注 0票数 0

我在使用这两个事件时遇到了一些问题,它们工作得很好,但是我遇到了一个问题:我在div中有一个div。

代码语言:javascript
复制
function addButtons() {
  var node = document.createElement('div');
  var obj = document.getElementById('container');
  node.setAttribute('id', 'buttons');
  node.innerHTML = '<input type="button" value="B" onClick="document.execCommand(\'bold\',false)" />';
  obj.appendChild(node); 
}

function removeButtons(id) {
  var obj = document.getElementById('container');
  obj.removeChild(obj.childNodes[3]);
}

http://jsfiddle.net/bnjGE/2/

如果我删除removeButtons()函数,它可以正常工作,但会创建多个按钮。

谢谢你

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-29 11:26:21

您可以在按钮f.ex上的mousedown事件上添加return false;语句:

代码语言:javascript
复制
node.getElementsByTagName('input')[0].onmousedown = function(e) {
    return false;
};

http://jsfiddle.net/bnjGE/8/

票数 0
EN

Stack Overflow用户

发布于 2012-12-29 11:28:15

代码语言:javascript
复制
document.onclick = function(e){
    console.log(e.target);
    if(e.target.id != 'buttons' && e.target.parentNode.id != 'buttons' && e.target.id != 'textarea'){
        removeButtons();
    }
}​

http://jsfiddle.net/bnjGE/7/也许这是一个解决方案,但并不完美。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14078337

复制
相关文章

相似问题

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