我正在尝试使用 twiter-bootstrap 将按钮中的文本交换为原始文本。
这是文档:
$().button('reset');
// Resets button state - swaps text to original text.
$().button(string)
// Resets button state - swaps text to any data defined text state.
引用:http://twitter.github.com/bootstrap/javascript.html#buttons
这是我的代码 (1),这是我在 jsfidlle 上的演示 http://jsfiddle.net/D2RLR/2646/
如您所见,当我尝试单击按钮时,它会按预期更改文本。
然后,当我尝试再次单击时,它不会更改文本。
我应该如何修复我的代码?
(1)
var buttonElement = $(document.createElement('button'));
buttonElement.text('hide');
buttonElement.attr('data-complete-text', 'show');
buttonElement.on('click', function (event) {
$('.alert').toggle(function () {
buttonElement.button('complete');
// buttonElement.button('reset');
}
);
});
$('body').append(buttonElement);
最佳答案
这行得通,但我不确定是否有更好的方法来完成此操作。
http://jsfiddle.net/Shmiddty/D2RLR/2651/
var buttonElement = $(document.createElement('button'));
buttonElement.text('hide');
buttonElement.attr('data-complete-text', 'show');
buttonElement.attr('data-default-text', 'hide');
buttonElement.on('click', function(event) {
$('.alert').toggle(function() {
buttonElement.button($(this).is(':visible') ? 'default' : 'complete');
});
});
$('body').append(buttonElement);
啊,有一个更好的方法:http://jsfiddle.net/Shmiddty/D2RLR/2655/
var buttonElement = $(document.createElement('button'));
buttonElement.text('hide');
buttonElement.attr('data-complete-text', 'show');
buttonElement.on('click', function(event) {
$('.alert').toggle(function() {
buttonElement.button($(this).is(':visible') ? 'reset' : 'complete');
});
});
$('body').append(buttonElement);
关于javascript - jquery 切换状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12844890/