Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
Dom onclick不起作用。无论何时提交,它都会自动执行所有onclick处理程序_Dom_Javascript Events - Fatal编程技术网

Dom onclick不起作用。无论何时提交,它都会自动执行所有onclick处理程序

Dom onclick不起作用。无论何时提交,它都会自动执行所有onclick处理程序,dom,javascript-events,Dom,Javascript Events,代码如下: html+js 函数chk(){ var buttonnode=document.createElement('input'); buttonnode.onClick=ddiv(buttonnode); } buttonnode.onclick自动调用ddiv函数,但我希望它等待单击以继续执行该函数。如何做到这一点?试试下面的方法。。。它会起作用的 buttonnode.onclick = function (){ddiv(this);}; 试试下面的。。。它将给出您需要的结果

代码如下: html+js


函数chk(){
var buttonnode=document.createElement('input');
buttonnode.onClick=ddiv(buttonnode);
}

buttonnode.onclick自动调用ddiv函数,但我希望它等待单击以继续执行该函数。如何做到这一点?

试试下面的方法。。。它会起作用的

buttonnode.onclick = function (){ddiv(this);};

试试下面的。。。它将给出您需要的结果

<html>
<body>
<style>
.divstyle
{
border: 1px solid red;
}
</style>
<script>

function myFunction()
{

var txt = document.getElementById("txtinfo");

//div Creation
var myDiv = document.createElement("div");
myDiv.setAttribute("class", "divstyle");
myDiv.innerHTML = "<br>" + txt.value + "<br>";

//Button Creation
var myButton = document.createElement("input");
myButton.type = "button";
myButton.value = "my button";
myDiv.appendChild(myButton);
document.body.appendChild(myDiv);
myButton.onclick = function (){ddiv(this,myDiv);};

}

function ddiv(btn, div)
{ 
div.parentNode.removeChild(div);
} 

</script>


<button onclick="myFunction()">Try it</button>
<input type="text" value="Click the Below Button" id="txtinfo"/>
</body>
</html>

.divstyle
{
边框:1px纯红;
}
函数myFunction()
{
var txt=document.getElementById(“txtinfo”);
//div创建
var myDiv=document.createElement(“div”);
myDiv.setAttribute(“类”、“divstyle”);
myDiv.innerHTML=“
”+txt.value+”
”; //按钮创建 var myButton=document.createElement(“输入”); myButton.type=“button”; myButton.value=“我的按钮”; myDiv.appendChild(myButton); 文件.body.appendChild(myDiv); myButton.onclick=function(){ddiv(this,myDiv);}; } 功能ddiv(btn,div) { div.parentNode.removeChild(div); } 试试看
现在它不会自动执行onclick。这很好,但同时它不调用ddiv函数。现在怎么办?函数ddiv(div){div.style.background=“orange”;div.parentNode.removeChild(buttonnode);}我想要的是当单击buttonnode时,它会删除parents。您创建输入元素并将其作为参数传递,但在该函数中使用div。。。我无法理解你的想法。。。你能解释一下这个概念吗?你想创建一个DIV,如果我们点击这个DIV,你需要一些动作,对吗?这太棒了,谢谢潘迪安,它成功了。非常感谢你的努力。
<html>
<body>
<style>
.divstyle
{
border: 1px solid red;
}
</style>
<script>

function myFunction()
{

var txt = document.getElementById("txtinfo");

//div Creation
var myDiv = document.createElement("div");
myDiv.setAttribute("class", "divstyle");
myDiv.innerHTML = "<br>" + txt.value + "<br>";

//Button Creation
var myButton = document.createElement("input");
myButton.type = "button";
myButton.value = "my button";
myDiv.appendChild(myButton);
document.body.appendChild(myDiv);
myButton.onclick = function (){ddiv(this,myDiv);};

}

function ddiv(btn, div)
{ 
div.parentNode.removeChild(div);
} 

</script>


<button onclick="myFunction()">Try it</button>
<input type="text" value="Click the Below Button" id="txtinfo"/>
</body>
</html>