Ho una domanda interessante qui che può sembrare piuttosto stupida, ma qui va. Usando la funzione pronta di JQuery Ho definito alcune funzioni in questo modo:
$(function(){
var function1 = function(data){
//do something
}
var function2 = function(data){
//do something else
}
});
Per qualche ragione, al fine di IE per rendere quello che sto usando correttamente, deve essere fatto nel $ (document) .ready function() . Tuttavia, ho bisogno di attivare queste funzioni una volta che ho un set di dati dal lato server. Così ho pensato di fare qualcosa di simile ...
Object.Namespace.callFunction = function(data){
function1(data);
}
... per essere collocato al di fuori della funzione pronto in uno script in modo che potessi chiamarlo direttamente.
Purtroppo, so che questo non funziona perché, non sembra logico e l'ho provato !. Ho reso tutte queste funzioni arbitrarie perché non importa il contenuto, ma piuttosto il concetto. Ho anche provato a utilizzare i gestori di eventi per attivare la funzione una volta che ho ricevuto quei dati - inutilmente! Qual è il modo migliore per creare funzioni all'interno di $ (document) .ready() globale?
Non sono un esperto di JQuery, ma perché non definisci le funzioni come globali in primo luogo usando i blocchi 'function function1 (data) {...}' della vecchia scuola? –
Come altri hanno già detto, la risposta è semplicemente definire le funzioni come funzioni. Perché questo non funziona in IE? *Questa è la domanda. – harpo
quelli erano solo esempi di base. Sto anche lavorando con il plug-in ExtJS Slider e per qualche motivo IE non li renderà correttamente a meno che non vengano eseguiti all'interno di doc.ready(). – sctskw