Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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 从HTML创建元素,但将函数作为句柄传递 函数createResendIVButton(用户名、名称){ 返回“重新发送I.V.”; }_Javascript_Dom - Fatal编程技术网

Javascript 从HTML创建元素,但将函数作为句柄传递 函数createResendIVButton(用户名、名称){ 返回“重新发送I.V.”; }

Javascript 从HTML创建元素,但将函数作为句柄传递 函数createResendIVButton(用户名、名称){ 返回“重新发送I.V.”; },javascript,dom,Javascript,Dom,当以HTML形式创建元素时,是否可以以某种方式发送函数句柄而不是字符串(函数名)?由于可见性问题,字符串很不方便。我需要从HTML创建,因为我使用的库不允许我轻松访问其DOM,但允许我从HTML代码初始化行。创建一个DOM元素并绑定一个操作: function createResendIVButton(userId, name){ return '<span class=btn onclick=usersTable.resendInvestorVerification("'+use

当以HTML形式创建元素时,是否可以以某种方式发送函数句柄而不是字符串(函数名)?由于可见性问题,字符串很不方便。我需要从HTML创建,因为我使用的库不允许我轻松访问其DOM,但允许我从HTML代码初始化行。

创建一个DOM元素并绑定一个操作:

function createResendIVButton(userId, name){
    return '<span class=btn onclick=usersTable.resendInvestorVerification("'+userId+'","'+name+'")>resend&nbsp;I.V.</span>';
}
像这样

函数createResendIVButton(用户名、名称){
var span=document.createElement('span');
span.innerHTML='重新发送I.V';
span.onclick=函数(){
usersTable.resendInvestorverification(userId,name);
}
var div=document.getElementById('somecontent');
子类(span);
}
createResendIVButton(1,“Joe”)
#一些内容{
宽度:100px;
高度:100px;
背景:#ccc;
}


可能重复@rishipuri您的参考建议使用
appendChild()
,但我只能将HTML代码发送到某些函数。您是否尝试过使用
eval()
方法?
        function createResendIVButton(userId, name){

            var button = document.createElement('span');
            button.className = 'btn';

            button.addEventListener('click', function(){

                console.log(userId);
                console.log(name);

            });

            button.innerHTML = 'click on me';

            return button;

        }