1

我正在为事件工作一个 javacript 库。以下是一些库代码:

(function(){
        var elem,
            int,
            Jist = function(s){
                return new Jist.fn.init(s);
            };
        Jist.fn = Jist.prototype ={
            init : function(s){
                if(!s){
                    return this;
                }
                else{
                    this.length = 1;
                    if (typeof s === "object"){
                        this[0] = s;
                    }
                    else if(typeof s === "string"){
                        var obj;
                        obj = document.querySelectorAll(s);
                        this[0] = obj;
                        elem = this[0];
                    }
                    return this;
                }
            }
        }
        Jist.fn.init.prototype = Jist.fn;
        Jist.fn.init.prototype = {
            print : function(txt){
                for(var i=0; i<elem.length; i++) {
                    elem[i].innerHTML = txt;
                }
            },
            click : function(callback){
            for(var i=0; i<elem.length; i++) {
                elem[i].addEventListener("click",callback,false);
            }
        },  
        };
        window.Jist = window.jist = window.Jis = window.jis = window.Jit = window.jit = window._ = Jist;
})();

这是我在网页中测试的内容:

<input type="button" id="inpt" value="click"></input>
<div class="test">Test</div>
<div class="test">Test</div>
<script>
jist("#inpt").click(function(){
    jist(".test").print("hello world");
    window.setTimeout(function(){jist(".test").print("nata");},2000);
});
</script>

当我单击按钮时,它甚至不会将文本打印到其中一个 div,它什么也不做。当我检查控制台时.click,库的功能中有一个“类型”错误。有谁知道我做错了什么?

太感谢了!

4

0 回答 0