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
,我可以毫无问题地调用它。