【问题标题】:Click not firing first time after rebind with live() method使用 live() 方法重新绑定后单击第一次不触发
【发布时间】:2011-06-29 20:58:49
【问题描述】:

我知道这可能是一个菜鸟问题,但我在同一主题上找到的其他线程没有运气。

我设计了一种解决方法来破解视图暴露过滤器以隐藏和显示库存计数为“0”的产品。用于股票计数的公开过滤器(input#edit-stock)被 CSS 隐藏,并且在自定义块内是一个链接,用于操作表单和触发查询(使用 ajax)。这很好用,但有一个例外 - 在使用视图提供的“重置”按钮重置表单后,toggle() 将无法正确重新绑定到链接,并且第一次不会触发单击。在第二次点击时工作正常。我确信解决方案很简单,但我很茫然..

如何有效地重新绑定toggle()?

抱歉,我无法提供一个活生生的例子。非常感谢您的任何意见。

自定义块:

    <a id="toggle" href="#">exclude</a>

查询:

$(document).ready(function () {        

    var include = function () { 
        $('input#edit-stock').attr('value', 0).submit();
        $('a#toggle').html('include');
    }; 

    var exclude = function () {
        $('input#edit-stock').attr('value', '').submit();
        $('a#toggle').html('exclude');
    }; 


    $('a#toggle').toggle(include, exclude);


    $('input#edit-reset').live('click', function (event) {
      $('a#toggle').unbind('toggle').toggle(include, exclude).html('exclude');
    });


});

【问题讨论】:

    标签: drupal-views toggle jquery


    【解决方案1】:

    如果我得到正确的问题,您需要重置切换。如果链接是 == 要包含,为什么不取消绑定切换并重新绑定它,而不是模拟点击?

    $(document).ready(function () {        
    
        var include = function () { 
            $('input#edit-stock').attr('value', 0).submit();
            $('a#toggle').html('include');
        }; 
    
        var exclude = function () {
            $('input#edit-stock').attr('value', '').submit();
            $('a#toggle').html('exclude');
        }; 
    
    
        $('a#toggle').toggle(include, exclude);
    
    
        $('input#edit-reset').live('click', function (event) {
            //if the link is include, click it so that it resets to exclude, else do nothing
            if ($('a#toggle').html() == 'include'){
                $('a#toggle').click();
            }
        });
    
    
    });
    

    在这里摆弄:http://jsfiddle.net/PSLBb/

    (希望这是你要找的)

    【讨论】:

    • 啊..是的,这太完美了!我一直在尝试类似的东西,但一定忽略了一些东西。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    相关资源
    最近更新 更多