Qual é a diferença entre $(documento).bind ('ready', função) e $(documento).pronto (função () {})
quero actualizar a partir do requirejs versão 2. 0 para 2. 1. 5
Aqui está o código:
define(['jquery', 'test.js'],
function ($, test) {
var test = new $.test({
//options
});
....
});
Teste.js
(function($) {
var registerEvents = function() {
//dosth
};
$.test = function(options) {
$(document).bind('ready', function() {
registerEvents();
});
...
return test;
}
...
});
na versão 2. 0, o requirejs mantém o evento DOM ready até que todos os recursos sejam transferidos, por isso funcionou correctamente https://github.com/jrburke/requirejs/issues/249
Quando actualizo para requerer a versão 2. 1. 5 do JS, a função registerEvents nunca será chamada.
Mas suplicando, se eu ... variação:$(document).bind('ready', function() {
registerEvents();
});
To:
$(document).ready(function() {
registerEvents();
});
funcionou bem
Então a minha pergunta é: Qual é a diferença entre eles?Editar: estou a usar o jQuery v1.7. 2
$(documento).on ('ready', function () {}) não funciona
1 answers
A diferença é que os documentos dizem
Também há $(documento).on ("ready", handler), depreciado como jQuery 1.8. Isto se comporta de forma semelhante ao método pronto, mas Se o evento pronto já tiver disparado e você tentar .on ("ready") o manipulador ligado não será executado. os manipuladores prontos ligados desta forma são executados depois de qualquer ligação pelos outros três métodos acima. [15]} [em mine]
.bind
e .on
Porta-te bem. Similarmente.
Esta é a única diferença entre
$( document ).ready( handler )
$().ready( handler ) // (this is not recommended)
$( handler )
E
$( document ).on( "ready", handler )
$( document ).bind( "ready", handler )
Isso é mencionado nos documentos, por isso acho que é a fonte mais provável do seu problema.