調用innerHTML之后onclick失效問題的解決方法
更新時間:2014年01月28日 15:04:10 作者:
調用innerHTML之后,onclick失效了,這也是在意料之中的,因為innerHTML是以文本形式插入的button,所以無法識別onclick事件
最近再寫一個項目,用到了innerHTML,但是呢,發(fā)現調用innerHTML之后,onclick失效了,這也是在意料之中的,因為innerHTML是以文本形式插入的button,所以無法識別onclick事件,所我們只有另找出路了,我們不能直接實現,但是可以間接實現,下面就舉個例子:
例子一:該例子是無法實現的onclick的
復制代碼 代碼如下:
<html>
<head>
<script defer>
function insCell(th)
var name=th.name;
var id=th.id;
if(name=="no"){
id.innerHTML="<input type='button' onclick='insCall(this)' value='上線'
name='no' id='1'>";
}else{
id.innerHTML="<input type='button' onclick='insCall(this)' value='下線'
name='yes' id='1'>";
}
</script>
</head>
<body>
<br />
<span id="msg">
<input type="button" onclick="insCall(this)" value="下線" name="yes" id="1">
</span>
</body>
</html>
上面的例子是,根據button的name判斷是上線,還是下線~~~我們發(fā)現,當點擊第一次之后,再點擊就無效了~~~~~~
這時候我們可以變相的實現,如下:
復制代碼 代碼如下:
<html>
<head>
<script defer>
function insCell(th)
{
var name=th.name;
var id=th.id;
alert(name+"--"+id);
var span=document.getElementById(id);
if(name=="no"){
span.innerHTML="<input type='button' value='下線'>";
span.name="yes";
}else{
span.innerHTML="<input type='button' value='上線'>";
span.name="no";
}
}
</script>
</head>
<body>
<br />
<span id="1" onclick="insCell(this)" name="no">
<input type="button" value="上線">
</span>
</body>
</html>
您可能感興趣的文章:
- javascript innerHTML、outerHTML、innerText、outerText的區(qū)別
- innerhtml用法 innertext用法 以及innerHTML與innertext的區(qū)別
- IE6-IE9不支持table.innerHTML的解決方法分享
- innerHTML與jquery里的html()區(qū)別介紹
- 放棄用你的InnerHTML來輸出HTML吧 jQuery Tmpl不詳細講解
- js innerHTML 改變div內容的方法
- IE6/IE7/IE8/IE9中tbody的innerHTML不能賦值的完美解決方案
- js使用for循環(huán)與innerHTML獲取選中tr下td值
- innerHTML動態(tài)添加html代碼和腳本兼容多個瀏覽器
- innerHTML中標簽可以換行的方法匯總
相關文章
open 動態(tài)修改img的onclick事件示例代碼
動態(tài)修改img的onclick事件,使用open也可輕松做到,下面有個不錯的示例,需要的朋友可以參考下2013-11-11javascript動態(tài)創(chuàng)建表格及添加數據實例詳解
這篇文章主要介紹了javascript動態(tài)創(chuàng)建表格及添加數據,以實例形式分析了javascript動態(tài)創(chuàng)建表格的常用方法,包括不兼容IE6與兼容IE6的實現方法,非常具有實用價值,需要的朋友可以參考下2015-05-05