前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面向对象编程(成绩输入)

面向对象编程(成绩输入)

作者头像
天天_哥
发布2018-09-29 14:08:06
4380
发布2018-09-29 14:08:06
举报
文章被收录于专栏:天天天天
1.js
代码语言:javascript
复制
<body>
    <ul>
        <li id="1">张三:</li>
        <li id="2">李四:</li>
        <li id="3">王五:</li>
    </ul>
    <script>
        window.onload = function(){
            var lis = document.getElementsByTagName('li');
            for(var i=0;i<lis.length;i++){
                new PlaceFieldEditor(lis[i],lis[i].id,'请输入成绩...').addElement();

            }
        }   
    </script>
</body>
2.面向对象
代码语言:javascript
复制
function PlaceFieldEditor(obj,id,tex){
    this.el = obj;
    this.id = id;
    this.value = tex;
    this.inputValue = '';
    //this.addElement();
}
PlaceFieldEditor.prototype.addElement = function(){
    var span = document.createElement('span');
    span.innerHTML = this.value;
    this.node = span;
    this.el.appendChild(this.node);
    var that = this;
    this.el.addEventListener('click',function(e){
        if(e.target.tagName == 'SPAN'){
            that.change();
        }else if(e.target.tagName == 'BUTTON'){
            if(e.target.innerHTML == '取消'){
                that.cancel();
            }else{
                that.inputValue = that.node.children[0].value;
                if(that.inputValue == ""){
                    alert('不能为空!');
                }else{
                    var reg = /\d+/;
                    if(reg.test(that.inputValue)){
                        that.confirm();
                    }else{
                        alert('只能输入数字');
                    }
                }
            };
        }
    });
}
PlaceFieldEditor.prototype.change = function(){
        var input = document.createElement('input');
        var button = document.createElement('button');
                button.innerHTML = '保存'
        var button1 = document.createElement('button');
                button1.innerHTML = '取消';
                this.node.innerHTML = "";
                this.node.appendChild(input);
                this.node.appendChild(button);
                this.node.appendChild(button1);
}
PlaceFieldEditor.prototype.cancel = function(){
    this.node.innerHTML = "";
    this.node.innerHTML = this.value;
}
PlaceFieldEditor.prototype.confirm = function(){
    this.value = this.inputValue;
    this.node.innerHTML = this.value;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.11.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.js
  • 2.面向对象
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档