分类 前端 下的文章

JavaScript类的继承


        //  superclass 父类
        function Person(first, last) {
            this.first = first
            this.last = last
        }

        Person.prototype = {
            fullName: function() {
                console.log(this.first + ',' + this.last)
            },
            fullNameReversed: function() {
                console.log(this.first + this.last)
            },
            sayHello: function(str) {
                alert(str)
            },
        }

        //  subclass  子类
        function cuteGirl(args) {
            Person.apply(this, args)
            //    把父类Person的this绑定到当前子类cuteGirl下
        }

        //  subclass extends superclass  子类继承父类
        cuteGirl.prototype = Object.create(Person.prototype)
        //  新建了一个对象,参数Person.prototype是新创建的对象的原型
        cuteGirl.prototype.constructor = cuteGirl
        //  修正cuteGirl的构成器,因为上面改动了cuteGirl.prototype

        var xiaohong = new cuteGirl(['xiao', 'hong'])

        xiaohong.sayHello('hhh')  //    一个弹窗
        xiaohong.fullName()  //    xiao,hong
        xiaohong.fullNameReversed()  //    xiaohong


jquery绑定动态元素事件问题


实际场景

在一个网盘页面添加新建文件夹,确定后,在页面里追加元素。如果直接使用click()bind()会出现加载页面时不存在的元素(也就是后来追加到页面的元素)没有绑定点击事件。

确定新建文件夹

在页面新生成的文件夹,却没有点击事件,也就是我无法框选它等等。


解决方法

  • 使用.on(events, selector, callback)解决
    events:监听的事件
    selector:绑定事件的元素
    callback:事件触发的回调函数