javascript - 如何更改事件中的 JavaScript 对象值

标签 javascript events object onload object-property

我在使用 JavaScript 时遇到了一个复杂的情况。我已经创建了对象。该对象动态加载JS、CSS文件(参见加载函数)。我的问题是我想在加载对象文件时添加 onload 事件并更改该对象中的一些值。

我的对象构造函数:

function lib( type, url )
{
  //Varaibles
  this.URL = url;        //Files url
  this.TYPE = type;      //Files type( can by CSS or JS )
  this.READY = false;    //Files loaded status
  //Functions
  this.load = load;      //Method, which is called to start loading file
  this.status = status;  //Return READY status( false or true )
}

所以我正在尝试文件加载更改就绪状态。我想在加载函数中设置这个东西。现在我有这个加载函数:

function load()
{
    var object = this;
    switch ( this.TYPE.toUpperCase() )
    {
        case "JS" :
        {
            var script = document.createElement( "script" );
            script.setAttribute( "type", "text/javascript" );
            script.setAttribute( "src", this.URL );
            document.getElementsByTagName( "head" )[0].appendChild( script );


            if( navigator.appName == "Microsoft Internet Explorer" )
            {
                script.onreadystatechange = function () { this.READY = true; };
            } else {
                script.onload =function () { this.READY = true; };
            }

            break;
        }
        ( Here should be CSS loading... )
    }
}

所以,伙计们,我需要查看我的代码,看看我做错了什么

最佳答案

当事件处理程序被调用时,它在脚本元素上下文中完成,并且 this 关键字指向它,使用 object.READY = true; 代替。

关于javascript - 如何更改事件中的 JavaScript 对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6832940/

相关文章:

python - 在 MySQL/SQLAlchemy 中计算事件持续时间的最佳方法?

javascript - 如何在angular js中监听dom就绪事件

python - Pandas DataFrame 与对象的意思

php - Magento 继承链。好的还是坏的做法?

javascript - 如何真正清除 PWA 中的缓存

javascript - 由于 Bootstrap 和 Google map 之间存在冲突,div 变灰

javascript - 获取 a.foreach 不是函数错误

c# - 检查事件是否至少被触发一次

javascript - 如果 hasClass 帮助和从变量中减去

javascript - 如何更改数组内的多个对象?