js 使li 可编辑
<ul>
<li id='a' onclick=''>
name
</li>
如何通过右击鼠标是a 属于可修改状态? 求代码
[解决办法]
<script>
function rightClick(obj) {
if(event.button == 2) {
var oldhtml = obj.innerHTML;
var newobj = document.createElement('input'
newobj.value = oldhtml;
newobj.type = 'text'
newobj.onblur = function(){
obj.innerHTML = this.value ? this.value : oldhtml;
}
obj.innerHTML = '';
obj.appendChild(newobj);
newobj.focus();
}
}
</script>
<ul>
<li id='a' onmousedown="rightClick(this)">name</li>
</ul>
[解决办法]
以下代码IE8和火狐3.5测试通过。。
<html> <head> <script> var isEdit = 0; function changeValue(li) { if(isEdit++ != 0) { return false; } var oldValue = li.innerHTML; li.innerHTML = "<input onblur='confirmChange(this)' value='"+oldValue+"'/>"; } function confirmChange(input) { var newValue = input.value; var li = input.parentNode; li.innerHTML = newValue; isEdit = 0; } </script> </head> <body> <ul> <li onclick="changeValue(this)">1</li> <li onclick="changeValue(this)">2</li> <li onclick="changeValue(this)">3</li> </ul> </body></html>