【问题标题】:using .delegate function in slide show在幻灯片放映中使用 .delegate 函数
【发布时间】:2011-10-08 05:46:49
【问题描述】:

我有一个为我的页面运行幻灯片的脚本。我正在尝试使用.delegate() 插入幻灯片中显示的一组新图像,包括其缩略图。我正在使用.load() 函数加载外部<div> 以替换活动页面中的一些HTML。我还有带有 ID 的按钮(#kick1#kwick2 等),用于确定加载的幻灯片集。

 jQuery("#kwick2").click(function () {
     jQuery("body").delegate('#slideshow', 'click', function() {
         jQuery('#slideshow').load('/design.html #design');      
     )};
 )};

很确定语法都是错误的。有人可以帮我吗?

#slideshow div 是我为直接包含其他一些divs 而创建的 受幻灯片脚本的影响。内div ID #slideshow

<div class="main_image"><div class="desc"><div class="image_thumb">

当您单击 KWICK 按钮时,这些将被直接替换,它们几乎都是不言自明的,图像缩略图和带有图像链接的无序列表。

【问题讨论】:

    标签: javascript jquery ajax delegates slideshow


    【解决方案1】:

    您不应在每次单击按钮时都重新授权。你做错了。

    相反,您应该拥有的是:

    var foobar = (function () {
    
       var func , mod1 , mod2;
       mod1 = function () {
          /* do something in state 1 */
       };
       mod2 = function () {
         /* do something in state 2 */
       };
    
       return {
          state: function (e) {
             switch (this.id){
                case 'kwick1':
                   func = mod1;
                   break;
                case 'kwick2':
                   func = mod2;
                   break;
             }
          },
          callback: function (e) {
             func.call();
          }
       }
    })();
    
    jQuery("#kwick1").click( foobar.state ); // and you really should delegate this
    jQuery("#kwick2").click( foobar.state );
    jQuery("body").delegate('#slideshow','click', foobar.callback);
    

    或类似的东西..

    不,我没有测试这段代码。写它是为了解释这个概念,而不是用勺子喂人。

    【讨论】:

      【解决方案2】:

      不确定我是否很好地理解了这个问题,无论如何你必须指定你委托的事件

       jQuery("#kwick2").click(function () {
       jQuery("body").delegate('#slideshow',"click", function(){
          jQuery('#slideshow').load('/design.html #design');      
          )};
       )};
      

      delegate

      【讨论】:

      • 但不是单击它的整个脚本不适用于插入的新内容,请检查此链接hovaness.com/work 并了解我的意思,加载的页面与脚本一起工作,然后当你点击设计新照片加载但没有效果也没有描述
      猜你喜欢
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多