2014-03-29 51 views
-1

我已經閱讀過其他例子,爲了訪問document.ready中的函數,我們必須將其轉換爲全局函數。如何將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/

在此先感謝。

+1

只需移動$(document).ready之外的函數? – brandonscript

+0

我發佈的這段代碼是我的問題的一個非常抽象的形式,在原始代碼中,我不想執行函數onload以及窗口大小調整。 – Rishi

+0

然後執行它。 –

回答

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/

爲我工作,無論如何感謝您的時間。

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

fiddle link。如果我理解你correctly.I已經改變了代碼,您可以訪問它改變你的函數名這樣

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

然後你可以調用像

$.myFunction() 

希望有所幫助。

1

如果您要訪問內部的document.ready功能,這裏是代碼 -

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

使它成爲全球使用的窗口。{functionName}。試試吧,它的工作。

相關問題