muszę sprawdzić kiedy element jest żywy, robię:Alternatywa dla wtyczki na żywo jQuery?
$('#obj').livequery(function() { ... });
Jak mogę to zrobić metodą żywo lub inny sposób?
muszę sprawdzić kiedy element jest żywy, robię:Alternatywa dla wtyczki na żywo jQuery?
$('#obj').livequery(function() { ... });
Jak mogę to zrobić metodą żywo lub inny sposób?
Jeśli jest to kod, który jest dodanie elementu do DOM, a następnie uruchomić kod na nim podczas jego tworzenia:
$('body').append('<div id="obj">some new object</div>');
var obj = $('#obj');
obj.runSomeCode();
... czy można jeszcze zrobić, zanim zostanie dołączone:
var obj = $('<div id="obj">some new object</div>');
obj.runSomeCode();
obj.appendTo('body');
Chcę tylko alternatywy dla livequery z wtyczkami ... – Codnickers453
Cóż, jako alternatywa dla używania livequery, możesz uruchomić tę funkcję, gdy znikniesz z elementu na stronie. – Rup
@Rapososoo: Jest to alternatywa dla używania tekstu na żywo. Jeśli nie chcesz, aby livequery zrobiło to automatycznie, musisz ręcznie zakodować kod, co i tak jest lepszą praktyką IMO. – user113716
to stara sprawa, ale dla porządku, tutaj moje 5 centów:
alternatywą dla livequery
jest zastosowanie podejścia Publish/Subscribe
z na przykład ta implementacja jQuery Tiny Pub/Sub: A really, really, REALLY tiny pub/sub implementation for jQuery.
Używam go na przykład w ten sposób:
// inform of DOM change (mostly through AJAX)
$.publish("/table/loaded");
// re-execute plugin
$.subscribe("/table/loaded", function(e, data) {
$("#my_id input[name='date']").datepicker();
});
+ info: Understanding the Publish/Subscribe Pattern for Greater JavaScript Scalability
Jako alternatywę do livequery wtyczkę możesz obejrzeć wtyczkę jQuery $ .whenLive:
$ .whenLive pozwala śledzić wstawienie drzewa DOM jednego lub więcej elementów.
http://bitcubby.com/tracking-the-insertion-of-javascript-components-into-the-dom/
Oto przykład z tej strony:
var widget = $("<div>I am a nobody. Nobody is perfect. Therefore, I am perfect.</div>");
$(widget).onLive(function() {
// Awesomesauce.
var height = $(this).height();
var width = $(this).width();
});
$("body").append(widget);
To stara sprawa, ale jestem zdumiony nie ma odpowiedzi jak to proste. Musisz użyć on() i dołączyć wydarzenie do rodzica lub ciała. Ex:
$('#obj').livequery('click', function() { ... });
$('#obj').livequery(function() { ... });
stać
$('body').on('click', '#obj', function() { ... });
$('body').on('DOMNodeInserted','#obj', function() { ... });
nuta że DOMNodeInserted jest IE9 +
Czy jest coś jesteś generowania dynamicznie lub jest obecna na swojej stronie, gdy jest załadowany (więcej niż raz?)? (Czy możesz po prostu użyć '$ (document) .ready (...);'?) – Rup
wygeneruję to '#obj' z javascript, wtedy dynamicznie jest – Codnickers453
idk dlaczego, ale kiedy robię fadeIn() w jakimś elemencie , wtyczka na żywo nie będzie działać, ponieważ chcę znaleźć nową alternatywę. – Codnickers453