如何在Jquery中实现“观察者”模式而不使用插件?

5
2个回答

5

原型观察者相当于jQuery的绑定(bind)

因此在原型中,类似以下的代码:

$('myElement').observe('click', function(){...});

在jQuery中,这将等同于:

$('#myElement').bind('click', function(){...});

实际库中的实现可能不同,但这将提供类似的结果。此外,在jQuery中,您不必在处理程序的末尾附加bind()函数,因为jQuery会自动绑定范围。


可以设置一个“频率”吗? - celsowm
@celsown,你所说的频率是指什么?比如在Ajax中? - wajiw
是的!每5秒提交一次myElement值。 - celsowm
你需要使用 setInterval 自己编写更新程序。在一个函数中调用 $.ajax,并使用 setInterval 调用该函数。更多信息请参见 http://api.jquery.com/jQuery.ajax/ 和 https://developer.mozilla.org/en/DOM/window.setInterval。 - wajiw

3

除了

$('#myElement').bind('click', function(){...});

另外也可以看看:

$(document).on('click', '#myElement', function(){...}); # jquery >= 1.7

这个函数绑定了一个click事件到所有现有的和未来的元素 - 特别适用于你想让多个对象对点击做出反应或者动态添加元素的情况。详见http://api.jquery.com/on/以获得更加详细的解释。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接