Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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
Javascript 无法将onclick属性添加到输入_Javascript_Input_Onclick - Fatal编程技术网

Javascript 无法将onclick属性添加到输入

Javascript 无法将onclick属性添加到输入,javascript,input,onclick,Javascript,Input,Onclick,简单点。神秘的问题。下面是我的代码。我为我的输入按钮创建了一个变量。我添加了一个onclick函数。我将输入变量添加到现有的div中,但是onclick属性没有出现。请帮忙 var newbutton = document.createElement('input'); var addonclick = "'return sayhi('phrase')'"; newbutton.onclick = addonclick;//does not work newbut

简单点。神秘的问题。下面是我的代码。我为我的输入按钮创建了一个变量。我添加了一个onclick函数。我将输入变量添加到现有的div中,但是onclick属性没有出现。请帮忙

    var newbutton = document.createElement('input');
    var addonclick = "'return sayhi('phrase')'";
    newbutton.onclick = addonclick;//does not work
    newbutton.type = 'button'; 
    document.getElementById('existingdiv').appendChild(newbutton);

也不起作用:

            newbutton.id = "buttonid";   
            ....              
            document.getElementById("buttonid").onload = '"return sayhi('phrase')"';

onclick属性采用函数而不是字符串,例如

newbutton.onclick = function(){sayhi('phrase')};

onclick属性采用函数而不是字符串,例如

newbutton.onclick = function(){sayhi('phrase')};

将sayhi分配给.onclick。也给你的按钮一些文字

var newbutton = document.createElement('input');
newbutton.onclick = sayhi;
newbutton.type = 'button';
newbutton.value = 'click'; 
document.getElementById('existingdiv').appendChild(newbutton);

function sayhi(){
    alert("hi");
}

将sayhi分配给.onclick。也给你的按钮一些文字

var newbutton = document.createElement('input');
newbutton.onclick = sayhi;
newbutton.type = 'button';
newbutton.value = 'click'; 
document.getElementById('existingdiv').appendChild(newbutton);

function sayhi(){
    alert("hi");
}

嘿,你试过这样做吗:

function sayhi(){
        alert("hi");
    }

var newbutton = document.createElement('input');

    newbutton.onclick = sayhi;
    newbutton.type = 'button'; 
    document.getElementById('existingdiv').appendChild(newbutton);

嘿,你试过这样做吗:

function sayhi(){
        alert("hi");
    }

var newbutton = document.createElement('input');

    newbutton.onclick = sayhi;
    newbutton.type = 'button'; 
    document.getElementById('existingdiv').appendChild(newbutton);

尝试添加
newbutton.onclick=sayhi它会工作的。onclick期望在单击该元素时执行javascript。这里的
addonclick
将只是一个变量,单击该元素时没有什么可执行的。

尝试添加
newbutton.onclick=sayhi它会工作的。onclick期望在单击该元素时执行javascript。这里,
addonclick
将只是一个变量,单击该元素时没有什么可执行的。

请注意,将onclick设置为sayhi();将实际运行函数sayhi。请注意,将onclick设置为sayhi();将实际运行函数sayhi。丢失括号。好的,但是我如何将变量传递给sayhi?请参阅编辑的问题。无需担心。我想出来了。我只是简单地把newbutton.onclick=sayhi(“短语”);您可以添加一个匿名函数作为click处理程序,并从中传递参数。例如:newbutton.onclick=function(){sayhi(name);}现在解决方案的唯一问题是加载时按钮会自动单击。为什么它会这样做?我如何阻止它这样做?为什么它会自己点击?请参阅此处的演示:它不会触发单击loadOk,但如何将变量传递给sayhi?请参阅编辑的问题。无需担心。我想出来了。我只是简单地把newbutton.onclick=sayhi(“短语”);您可以添加一个匿名函数作为click处理程序,并从中传递参数。例如:newbutton.onclick=function(){sayhi(name);}现在解决方案的唯一问题是加载时按钮会自动单击。为什么它会这样做?我如何阻止它这样做?为什么它会自己点击?请参见此处的演示:它不会触发加载时的单击