<ul>
<li id='a' onclick=''>
name
</li>如何通过右击鼠标是a 属于可修改状态?  求代码 

解决方案 »

  1.   

     <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>
      

  2.   

    以下代码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>