Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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字符串中调用具有参数的函数?_Javascript - Fatal编程技术网

Javascript 如何从定义为另一个函数中的变量的html字符串中调用具有参数的函数?

Javascript 如何从定义为另一个函数中的变量的html字符串中调用具有参数的函数?,javascript,Javascript,我有一个定义如下的函数: function chat_add_user_message(message, url, option_position, vote_count) { var html = '<div">' + '<p class="message" onclick="cast_vote()">' + message + '</p>' + '</div>';

我有一个定义如下的函数:

function chat_add_user_message(message, url, option_position, vote_count) {
    var html = '<div">' +
        '<p class="message" onclick="cast_vote()">' +
            message +
        '</p>' +
    '</div>';
    $(".chatlogs").append(html);
};
我有一个错误:

未捕获引用错误:未定义投票权
在HTMLParagraphElement.onclick


如何使用
var html
中的参数调用
cast\u-vote
函数?

听起来您的
cast\u-vote
不在顶层。内联处理程序引用的函数必须在顶层定义,才能被引用。例如,以下操作不起作用:

$(()=>{
函数doStuff(){
log('doing stuff');
}
});


单击我
听起来你的投票不在最高级别。内联处理程序引用的函数必须在顶层定义,才能被引用。例如,以下操作不起作用:

$(()=>{
函数doStuff(){
log('doing stuff');
}
});


在您的聊天日志类中单击我
,获取此

<div id="foo" style="display:none">
    <p class="message" onclick="cast_vote()"></p>'
</div>

在你的聊天日志类中,有这个

<div id="foo" style="display:none">
    <p class="message" onclick="cast_vote()"></p>'
</div>

您可以从Javascript中定义
单击
事件处理程序

function chat_add_user_message(message, url, option_position, vote_count) {
    var div = $("<div>"); //Create <div> element
    var p = $("<p>"); //Create <p> element
    $(p).addClass("message") //Add message css class
        .text(message) //set the text inside the <p> element
        .appendTo(div); //append <p> to <div>

    //Define click event handler
    $(p).click(function(){
        cast_vote(message, url, option_position, vote_count);
    });

    //Append <div> to .chatlogs
    $(".chatlogs").append(div);
};

function cast_vote(message, url, option_position, vote_count) {
    console.log(message, url, option_position, vote_count);
};

chat_add_user_message("Hello World", "http://www.example.com", 0, 0);
chat_add_user_message("Hello World 2", "http://www.example.com", 1, 1);
功能聊天添加用户消息(消息、url、选项位置、投票计数){
var div=$(“”);//创建元素
var p=$(“”);//创建元素
$(p).addClass(“消息”)//添加消息css类
.text(message)//设置元素内的文本
.appendTo(div);//将附加到
//定义单击事件处理程序
$(p)。单击(函数(){
投票(消息、url、选项位置、投票计数);
});
//附加到.chatlogs
$(“.chatlogs”).append(div);
};
函数cast\u vote(消息、url、选项位置、投票计数){
日志(消息、url、选项位置、投票计数);
};
聊天\添加\用户\信息(“Hello World”http://www.example.com", 0, 0);
聊天添加用户信息(“Hello World 2”http://www.example.com", 1, 1);

您可以从Javascript定义
单击事件处理程序

function chat_add_user_message(message, url, option_position, vote_count) {
    var div = $("<div>"); //Create <div> element
    var p = $("<p>"); //Create <p> element
    $(p).addClass("message") //Add message css class
        .text(message) //set the text inside the <p> element
        .appendTo(div); //append <p> to <div>

    //Define click event handler
    $(p).click(function(){
        cast_vote(message, url, option_position, vote_count);
    });

    //Append <div> to .chatlogs
    $(".chatlogs").append(div);
};

function cast_vote(message, url, option_position, vote_count) {
    console.log(message, url, option_position, vote_count);
};

chat_add_user_message("Hello World", "http://www.example.com", 0, 0);
chat_add_user_message("Hello World 2", "http://www.example.com", 1, 1);
功能聊天添加用户消息(消息、url、选项位置、投票计数){
var div=$(“”);//创建元素
var p=$(“”);//创建元素
$(p).addClass(“消息”)//添加消息css类
.text(message)//设置元素内的文本
.appendTo(div);//将附加到
//定义单击事件处理程序
$(p)。单击(函数(){
投票(消息、url、选项位置、投票计数);
});
//附加到.chatlogs
$(“.chatlogs”).append(div);
};
函数cast\u vote(消息、url、选项位置、投票计数){
日志(消息、url、选项位置、投票计数);
};
聊天\添加\用户\信息(“Hello World”http://www.example.com", 0, 0);
聊天添加用户信息(“Hello World 2”http://www.example.com", 1, 1);

你能分享你的html吗?@Shashishekhar Hasabnis你想传递什么参数给它?@MaheerAli函数的参数与chat\u add\u user\u消息相同,但第一个消息参数除外。你在哪里定义你的函数
投票,我可以毫无问题地调用它。你能分享你的html吗?@Shashishekhar Hasabnis你想传递给它什么参数?@MaheerAli函数的参数与chat\u add\u user\u消息的参数相同,除了第一个消息参数你在哪里定义你的函数
cast\u vote
,我可以毫无问题地调用它。