1
后,我有以下的阵营组成:返回按钮文字拨动
var $ = require('jquery');
module.exports = {
trigger: '.form-trigger',
form: '.financial-form',
init: function() {
$(this.trigger).click(this.toggleForm.bind(this));
},
toggleForm: function(e) {
// define currentTarget
var currentTarget = $(event.currentTarget);
// define current Text
var currentText = currentTarget.html();
// Prevent anchor click default
e.preventDefault();
// Remove any active classes
currentTarget.next(form).slideToggle("fast");
// console.log(currentText);
if ($(this.form).is(":visible")){
// $(element).is(":visible")
currentTarget.html("Close Form");
} else {
currentTarget.html(currentText);
}
}
};
有其开拓自己相邻的形式页面上有多个“触发器”。在toggleForm函数内,'if'语句确定按钮的文本。我将按钮当前的文本存储,以便如果窗体打开,我可以更改为“关闭窗体”,或者将按钮返回到其原始文本。然而,currentText变量正在存储“Close Form”文本,因为它变成了currentTarget。我怎样才能确保按钮的文字恢复到原来的状态?
感谢您的答复原文但这不起作用。即使窗体关闭,按钮的文本仍然是“关闭窗体” – JordanBarber
您确定逻辑正确吗?特别注意'is(':visible')'不适用于动画方法,因为元素总是在滑动时可见等,但是它不是很清楚表单是什么,为什么使用'currentTarget'而不是' this'和'this.form'等? – adeneo
我做了一些编辑,试试? – adeneo