使用js拼接html添加的onclick不能执行

代码如下: function main(source){ var strFrame='

'; strFrame+=''; strFrame+=''; strFrame+='

'; strFrame+='<<'; strFrame+='

'; strFrame+=''; strFrame+=''; strFrame+='

'; strFrame+=now.getFullYear()+'年'+(now.getMonth()+1)+'月'; strFrame+='

'; strFrame+=''; strFrame+=''; strFrame+="

"; strFrame+='>>'; strFrame+='

'; strFrame+=''; strFrame+=''; strFrame+=''; strFrame+=''; strFrame+='

'; strFrame+='日'; strFrame+='

'; strFrame+=''; strFrame+=''; strFrame+='

'; strFrame+='一'; strFrame+='

'; strFrame+=''; strFrame+=''; strFrame+='

'; strFrame+='二'; strFrame+='

'; strFrame+=''; strFrame+=''; strFrame+='

'; strFrame+='三'; strFrame+='

'; strFrame+=''; strFrame+=''; strFrame+='

'; strFrame+='四'; strFrame+='

'; strFrame+=''; strFrame+=''; strFrame+='

'; strFrame+='五'; strFrame+='

'; strFrame+=''; strFrame+=''; strFrame+='

'; strFrame+='六'; strFrame+='

'; strFrame+=''; strFrame+=''; strFrame+=''; var div1=document.getElementById("div1"); var div2=document.getElementById("div2"); if(source=='start'){ div1.innerHTML=strFrame; div2.innerHTML=""; }else{ div2.innerHTML=strFrame; div1.innerHTML=""; } } function prevMonth(){ alert("a"); }

你的onclick事件绑定在那里了?

检查一下源代码是不是拼接正常。

给两个p添加好ID,然后根据id获取到p的DOM对象之后监听DOM的click事件应该可以实现。

 

function main(source){
getCurrentDate();
var strFrame='<table class=mt id=mt>';
strFrame+='<tr>';

strFrame+='<td>';
strFrame+="<p onclick=\"prevMonth()\">";
strFrame+='<<';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td colspan=5>';
strFrame+='<p>';
strFrame+=now.getFullYear()+'年'+(now.getMonth()+1)+'月';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+="<p  onclick=\"nextMonth()\">";
strFrame+='>>';
strFrame+='</p>';
strFrame+='</td>';
strFrame+='</tr>';

strFrame+='<tr>';
strFrame+='<td>';
strFrame+='<p>';
strFrame+='日';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+='<p>';
strFrame+='一';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+='<p>';
strFrame+='二';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+='<p>';
strFrame+='三';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+='<p>';
strFrame+='四';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+='<p>';
strFrame+='五';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+='<p>';
strFrame+='六';
strFrame+='</p>';
strFrame+='</td>';
strFrame+='</tr>';
strFrame+='</table>';
//var div1=document.getElementById("div1");
var div2=document.getElementById("div2");
if(source=='start'){
div1.innerHTML=strFrame;
div2.innerHTML="";
}else{
div2.innerHTML=strFrame;
div1.innerHTML="";
}
}
function prevMonth(){
alert("a");
} 

 

function main(source){
getCurrentDate();
var strFrame='<table class=mt id=mt>';
strFrame+='<tr>';

strFrame+='<td>';
strFrame+="<p onclick=\"prevMonth()\">";
strFrame+='<<';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td colspan=5>';
strFrame+='<p>';
strFrame+=now.getFullYear()+'年'+(now.getMonth()+1)+'月';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+="<p  onclick=\"nextMonth()\">";
strFrame+='>>';
strFrame+='</p>';
strFrame+='</td>';
strFrame+='</tr>';

strFrame+='<tr>';
strFrame+='<td>';
strFrame+='<p>';
strFrame+='日';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+='<p>';
strFrame+='一';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+='<p>';
strFrame+='二';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+='<p>';
strFrame+='三';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+='<p>';
strFrame+='四';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+='<p>';
strFrame+='五';
strFrame+='</p>';
strFrame+='</td>';

strFrame+='<td>';
strFrame+='<p>';
strFrame+='六';
strFrame+='</p>';
strFrame+='</td>';
strFrame+='</tr>';
strFrame+='</table>';
var div1=document.getElementById("div1");
var div2=document.getElementById("div2");
if(source=='start'){
div1.innerHTML=strFrame;
div2.innerHTML="";
}else{
div2.innerHTML=strFrame;
div1.innerHTML="";
}
}
function prevMonth(){
alert("a");
} 

div1里面不可以执行,div2里的可以执行,这是怎么回事?

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

不建议你这样绑定,建议你给需要点击事件的元素上添加class或者id,在innerHTML 执行完成后,注册监听

document.getElementById("元素id").onclick=function(){
    alert("按钮被点击");
}

类似这样