Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery'之前调用/插入函数;准备好了吗_Javascript_Jquery - Fatal编程技术网

Javascript 在jQuery'之前调用/插入函数;准备好了吗

Javascript 在jQuery'之前调用/插入函数;准备好了吗,javascript,jquery,Javascript,Jquery,在jQuery中调用document.ready()之前,我需要能够插入或调用函数。我正在从另一个文件调用document.ready函数,从理论上讲,这使我能够控制何时调用document.ready 源文件(.js): 但是,从技术上讲,只要我用document.ready()调用该文件,它就会立即被加载,而且我没有机会找到类似于插入和调用我的函数的前置条件的东西 var fn = $.fn; var realReady = fn.ready; fn.ready = function rea

在jQuery中调用document.ready()之前,我需要能够插入或调用函数。我正在从另一个文件调用document.ready函数,从理论上讲,这使我能够控制何时调用document.ready

源文件(.js):

但是,从技术上讲,只要我用document.ready()调用该文件,它就会立即被加载,而且我没有机会找到类似于插入和调用我的函数的前置条件的东西

var fn = $.fn;
var realReady = fn.ready;
fn.ready = function ready()
{
    console.log("Before ready.");
    var result = realReady.apply(this, arguments);
    console.log("After ready.");
    return result;
};
测试文件(也是一个.js):

由于我是从.js单元测试文件调用document.ready函数,“script”标记对我不起作用。我需要能够在调用DOM(或document.ready)之前调用我的函数。有人知道这个问题的答案吗


谢谢。

将要执行的代码放在document.ready之前,document.ready之前。

覆盖
ready
功能

var fn = $.fn;
var realReady = fn.ready;
fn.ready = function ready()
{
    console.log("Before ready.");
    var result = realReady.apply(this, arguments);
    console.log("After ready.");
    return result;
};

你能用这些东西加载一个页面,然后重定向到另一个页面吗?技术不是很好,但你所做的听起来很笨拙。ready已经是一种在OnLoad之前让东西执行的技巧如果你想在DOMReady事件之前调用stuff,就不要把它放在事件包装器中,或者在脚本中包含你的前置条件,该脚本包含在其他脚本之前。我以前尝试过,但没有成功。在测试文件中,TestFunction.prototype.TestFunction一启动,document.ready就已经被加载(我看到它带有一个警报)。在源文件中,这是不可能的,因为我只调用document.ready函数,而不是前面或后面的代码。
var fn = $.fn;
var realReady = fn.ready;
fn.ready = function ready()
{
    console.log("Before ready.");
    var result = realReady.apply(this, arguments);
    console.log("After ready.");
    return result;
};