jquery bind的问题



 我看到一处代码是这样写的
   $("#indexPage").bind('pageinit', function() {.....});
   这个bind里面的pageinit自定义的东西吧!!可是他又没有在哪个地方调用,这样写有什么意义

  还有一个是这样写的
  $("#thelist").append(content).listview('refresh');
  这个是个jquerymobile里的listview后面加个refresh有什么意义??

jquery jquery-mobile JavaScript

都没我这么衰 9 years, 10 months ago

1)trigger("pageinit")
2)jqmobile里面,如果不用refresh,样式会乱得,需要重新刷新一下(jqmobile性能太差,新手入门玩玩还是可以)

秋葉留美穂 answered 9 years, 10 months ago

1)pageinit 是一个自定义的事件,
调用$("#indexPage").trigger("pageinit ");可以触发这个事件
2)listview是一个jQuery的扩展插件,refresh 参数为listview插件定义的一个方法名
在插件内部实现时,如果发现传入的参数是refresh,那就会调用想用的refresh方法刷新listview

VMware answered 9 years, 10 months ago

首先说第一个问题, pageinit 很明显是一个自定义事件名称,jquery是允许这样用的,触发它的方法就是 $("#indexPage").trigger("pageinit")
第个问题就很好理解了, listview 是在jquery上扩展的一个方法(具体怎么扩展可自行google之), refresh 只是这个'listview'需要的一个参数而已。

百目川朔时 answered 9 years, 10 months ago

  1. pageinit 从字面上理解就可以,在页面加载的时候调用
  2. listview('refresh')是里面封装的方法,可以刷新视图
轻抚菊花笑不语 answered 9 years, 10 months ago

忘记回答第一个了哈哈
1:bind pageinit 相当于 window.onload 或者 document.ready 这种浏览器加载完毕就自调用。 当然你也可以自调用用trigger 方法就好了如楼下的

2:jquery mobile 在dom 基础上封装了一些原型方法,比如 .listview
这里就是将运行listview 方法中定义好的 refresh 事件,也就是刷新listview 视图

翅膀123 answered 9 years, 10 months ago

Your Answer