gpt4 book ai didi

用于事件处理的 JavaScript 库出现奇怪的 'undefined' 错误

转载 作者:行者123 更新时间:2023-11-28 01:49:45 25 4
gpt4 key购买 nike

我一直致力于开发一个用于事件处理的 JavaScript 库。以下是该库的一些代码:

01| (function(){
02| var int,
03| Jist = function(s){
04| return new Jist.fn.init(s);
05| };
06| Jist.fn = Jist.prototype ={
07| init : function(s){
08| if(!s){
09| return this;
10| }
11| else{
12| this.length = 1;
13| if (typeof s === "object"){
14| this[0] = s;
15| }
16| else if(typeof s === "string"){
17| var obj;
18| obj = document.querySelectorAll(s);
19| this[0] = obj;
20| this.elem = this[0];
21| }
22| return this;
23| }
24| },
25| };
26| Jist.fx ={
27| event : function(event,callback,state){
28| var dummy = (state) ? false : state;
29| for(var i=0; i<this.elem.length; i++) {
30| this.elem[i].addEventListener(event,callback,dummy);
31| }
32| return this;
33| },
34| }
35| Jist.fn.init.prototype = Jist.fn;
36| Jist.fn.init.prototype = {
37| print : function(txt){
38| for(var i=0; i<this.elem.length; i++) {
39| this.elem[i].innerHTML = txt;
40| }
41| return this;
42| },
43| click : function(callback){
44| Jist.fx.event("click",callback);
45| return this;
46| },
47| };
48| window.Jist = window._ = Jist;
49| })();

一切似乎都很好......

然后在我的网页上,这是我必须测试的内容:

01| <div id="enter">Begin!</div>
02| <script>
03| _("#enter").click(function(){
04| _("#enter").print("It worked!");
05| })
06| </script>

这里看起来也不错。

看起来这应该可行,但我收到一个错误,内容如下:

'undefined' is not an object (evaluating this.elem.length)[line 29 in the library]

有谁知道如何修复这个错误?

非常感谢您的帮助。

最佳答案

您是否尝试过打印“this”的值?您确定在正确的范围内执行吗?

关于用于事件处理的 JavaScript 库出现奇怪的 'undefined' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19827711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com