如何将document.ready()中定义的函数转换为全局函数

时间:2014-03-29 07:00:45

标签: javascript jquery html

我在其他示例中已经读过,要访问document.ready中的函数,我们必须将其转换为全局。

但是在这种情况下如何做,请帮助。

HTML:

<body onresize="myFunction()">
<button type="button" onclick="myFunction()">Try</button>
</body>

JS:

$(document).ready(function myFunction()
{
alert("Stop resizing.");
});

小提琴:http://jsfiddle.net/c4Dwd/

提前致谢。

4 个答案:

答案 0 :(得分:3)

$(document).ready()本身就是一个函数,所以你在一个函数中调用一个函数。

由于在单击按钮时触发了函数myfunction(),因此$(document).ready()中包含需要执行的自执行命令时,不需要将该函数包装在$(document).ready()中在DOM加载之前保持。

所以,简而言之,

HTML:

<body>
<button type="button" onclick="myFunction()">Try</button>
</body>

使用Javascript:

function myFunction() {
alert("Stop resizing.");
}

编辑:

我看到你说你希望函数执行onclick以及调整窗口的大小。

在那种情况下,

使用Javascript:

function myFunction() {
alert("Stop resizing.");
}
$(window).resize(function() {
myFunction();
});

答案 1 :(得分:1)

fiddle link。如果我理解正确的话。我已经更改了代码,您可以访问它来更改您的函数名称

$.myFunction= function(){
alert("Stop resizing.");
}

然后你可以调用像

这样的函数
$.myFunction()

希望有所帮助。

答案 2 :(得分:1)

如果你想访问document.ready中的一个函数,这是代码 -

   $(document).ready(function(){
     window.myFunction = function myFunction()
      {
        alert("Stop resizing.");
      }
  });

使用window。{functionName}使其全局化。试试吧,它的工作。

答案 3 :(得分:0)

感谢您的回复,但我想到了另一种方式,

HTML:

<body onload="myFunction()" onresize="myFunction()">
<button type="button" onclick="myFunction()">Try</button>
</body>

JS:

function myFunction()
{
alert("Stop resizing.");
}

小提琴:http://jsfiddle.net/c4Dwd/6/

为我工作,无论如何,谢谢你的时间。