开发者社区 问答 正文

CSS 能不能实现两种不同的表单状态?

screenshot
鼠标移动到如图右边的文字上,文本出现编辑状态。

当鼠标移出,又恢复到文字状态。

我只知道 onmouseout 和 onmouseover ,可能是太菜了,感觉不好实现,请各位知道的大侠恳请指点下,给出实现的大概方法或者需要用到的函数等等....

展开
收起
a123456678 2016-03-10 17:48:12 1970 分享 版权
1 条回答
写回答
取消 提交回答
  • <style>
        .hide { display:none; }
        #tx { cursor:pointer; }
    </style>
    <div id="tx">blablabla</div>
    <textarea id="ta" class="hide"></textarea>
    <script>
        var tx = document.getElementById('tx'),
            ta = document.getElementById('ta'),
            toggleEL = function(el, fn){
                var cls = el.className,
                    _cls = (cls == '') ? 'hide': ' hide';
                if (cls.indexOf('hide')===-1) {
                    el.className += _cls;
                }else {
                    el.className = cls.replace('hide', '');
                }
                if (fn) fn();
            };
        tx.onmouseover = function(){
            toggleEL(tx, function(){
                toggleEL(ta);
                ta.focus();
            });
        }
    
    </script>
    2019-07-17 18:58:03
    赞同 展开评论
问答分类:
问答标签:
问答地址: