是否可以确定使用JavaScript渲染元素的时间?

前端之家收集整理的这篇文章主要介绍了是否可以确定使用JavaScript渲染元素的时间?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有jQuery等效于做以下操作:
$(document).ready(function() {

一个元素:

$(a).ready(function() {

我在更新面板中有内容,我在一些锚点元素上调用jQuery UI的.button().在更新面板刷新之后,锚点会重新投放,并丢失UI样式.

我已经知道如何使用.NET AJAX的add_endrequest(handler)来检测一个ajax请求的结束,但是希望使用jQuery.delegate来获得更好的解决方案.

例如

$('body').delegate('#mybutton','load',(function(){  //this doesnt work... }

解决方法

如果我正确地了解您的要求,那么这样做的一个方法是使用 Live Query插件.

Live Query … has the ability to fire
a function (callback) when it matches
a new element and another function
(callback) for when an element is no
longer matched

例如:

$('#someRegion a').livequery( function(){ 
  do_something();
});

更新:由于DOM更改不通过jQuery运行,不幸的是,livequery不会看到它们.我在此问题上研究了这个问题,并在this answer年考虑了一个基于投票的解决方案.

更新:轮询是一种丑陋,但如果真的没有别的选择,这里是一个基于轮询的解决方案,它使用jQuery“虚拟”操作来使活动查询“查看”更改.你只想把这样的东西当作最后的手段 – 如果没有选择绑定回调方法.

首先,设置观察容器的livequery,该容器将发生更新:

$('div#container').livequery( function(){ 
  $(this).css('color','red'); // do something
});

然后使用setInterval(),这里包含一个方便的功能

function pollUpdate( $el,freq ){
  setInterval( function(){
    $el.toggleClass('dummy');
  },freq); 
};

所以你可以有:

$(document).ready( function(){
  pollUpdate( $('div#container'),500 );
});

这是一个working example.点击按钮添加没有jQuery的新的DOM元素,你会看到它们被最终拾取(最终)并通过livequery重新定义.不漂亮,但它确实有效.

原文链接:https://www.f2er.com/js/153366.html

猜你在找的JavaScript相关文章