如何在javascript中覆盖setTimeOut函数

时间:2013-05-07 08:50:45

标签: javascript ckeditor

我在grails中使用ckeditor插件。 我在ckeditor.js中有这个功能

setTimeout(function(){var u=t.getInputElement();
    u&&u.$.focus();
},0)

setTimeout(function(){var u=t.getInputElement();
    if(u){ 
    u.$.focus();
    u.$.select();}},0)

我需要将时间从0更改为10000。 现在问题是我已经要求不要触摸ckeditor.js文件,因为它是插件文件并且它在很多地方使用。 所以我应该在一些导入ckeditor.js的本地文件中进行更改。

那么我应该如何覆盖此函数或执行其他操作来更改超时函数的值

2 个答案:

答案 0 :(得分:0)

创建一个新的javascript文件并编写以下方法

  (function() {
    var oldsetTimeout = setTimeout;
    setTimeout = extendedsetTimeout;
    function extendedsetTimeout() {
       setTimeout();//call old method
       doSomething();
    }
 })();

答案 1 :(得分:0)

好建议:调试源文件,而不是内置和缩小版本......

你很可能意味着these lines。只需使用您自己的功能覆盖CKEDITOR.ui.dialog.textInput.prototype.focus功能即可。

相关问题