Update after change

Update after change


实现功能

  • 点击之后文字转变为可编辑状态
  • 编辑之后保持

Now here is the code:

<html>
<head>
<style type="text/css">
    body
    {
        font-family: 'helvetica neue';
        color:#666;
        padding: 0 20%;
    }

    li input
    {
        display: none;
    }

    li.edit span
    {
        display: none;
    }
    li.edit input
    {
        display: initial;
    }
</style>
</head>
<body>
    <header>
        <h1>Javascript Events</h1>
    </header>
    <main>
        <ul id='checkList'>
            <li>
                <span>apples</span>
                <input value='Apples'/>
            </li>
            <li>
                <span>Oranges</span>
                <input value='Oranges'/>
            </li>
            <li>
                <span>Bananas</span>
                <input value='Bananas'/>
            </li>
        </ul>
    </main>
<script type="text/javascript">
    var checkList= document.getElementById('checkList');
    var items=checkList.querySelectorAll('li');
    var inputs=checkList.querySelectorAll('input');

    for(var i=0;i<items.length;i++)
    {
        items[i].addEventListener('click',editItem);
        inputs[i].addEventListener('blur',updateItem);
        // 保证按回车后会换行
        inputs[i].addEventListener('keypress',itemKeyPress);
    }

    function editItem(){
        this.className='edit';
        var input=this.querySelector('input');
        input.focus();
        // console.log(input.focus().value)
        input.setSelectionRange(0,input.value.length);
    }
    function updateItem()
    {
        this.previousElementSibling.innerHTML=this.value;
        this.parentNode.className='';
    }

    function itemKeyPress(event)
    {
        if(event.which===13)
        {
            updateItem.call(this);
        }
    }
</script>
</body>
</html>

这份代码是看YouTube视频打下来的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值