这是我的代码
var div = $("#divId").html("");
var messageId = 12;
var message = "not found";
div.append('<h1 class="text-danger" onclick="showMessage('+ messageId + ','+ message + ')">click here </h1>');
console.log( "ready!" );
function showMessage(id,msg) {
alert('id :-'+id + ' msg:- '+msg);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="divId" >
hi
</div>
如何解决此错误,我被困在这里,我是javascript新手,请帮助
答案 0 :(得分:1)
我将更改您的显示消息单击事件的工作方式:
$(document).ready(function(){
AddHeaderTagToDom();
});
function AddHeaderTagToDom(){
var div = $("#divId");
var messageId = 12;
var message = "not found";
div.append('<h1 id="messageHeader" class="text-danger" data-message-id='+ messageId +'
data-message-text ='+ message +'>click here </h1>');
BindShowMessage();
}
function BindShowMessage(){
$('#messageHeader').on('click',function(){
var id = $(this).data('message-id');
var text = $(this).data('message-text');
DoShowMessage(id,text);
});
}
function DoShowMessage(id,msg){
alert('id :-'+id + ' msg:- '+msg);
}
因此,基本上,当文档加载时,将h1标签附加到div元素,并在附加h1标签后注册click事件。单击h1后,获取消息ID和文本的数据属性,然后调用showMessage方法。