2

为什么我必须单击两次才能运行使用activeBootstrap 按钮插件添加的类的功能?

var monthly = $("input[name='montly_total']");
var once = $("input[name='once_total']");

$(".button-selector").click(function () {
 $(".button-selector.monthly.active").sum("click", monthly);
 $(".button-selector.once.active").sum("click", once)
});

现场示例:http: //jsfiddle.net/ynts/3Z6sm/。输入仅在第二次单击按钮时更新。

4

1 回答 1

3

这些按钮使用起来很痛苦,因为它们不会触发您可以将功能挂钩的任何自定义事件。

也就是说,这是一个丑陋的setTimeout()解决方法:

$(".button-selector").click(function () {
    // break out of click handler chain
    setTimeout(function() {
        // by the time this runs, the active state will have been updated
        $(".button-selector.monthly.active").sum("click", monthly);
        $(".button-selector.once.active").sum("click", once)
    }, 0);
});
于 2013-01-22T02:55:03.827 回答