我这里有一个关于验证div中是否存在类的演示。 当没有类时,从按钮中删除另一个类。 基本上这是做什么的,当没有禁用按钮时,将删除禁用添加按钮。
如果用户最后做的事情是改变,但是如果他做的最后一件事是关键的话就行不通了
这里有什么问题?
js
function toggleDisabled(target) {
var $target = $(target);
$target.toggleClass('disabled', !$target.val());
}
var $notnull = $('.notnull');
$(document).on('keyup, change', '.notnull', function (e) {
toggleDisabled(e.currentTarget);
});
$notnull.each(function (i, el) {
toggleDisabled(el);
});
function toggleDisabledNavButton(target) {
var $target = $(target);
var basic = $target.find('input,select').hasClass('disabled');
console.log(basic);
//console.log($target);
if (basic) {
$("#add").addClass('disabled');
} else {
$("#add").removeClass('disabled');
}
}
var detailscontainer = $('.notnull');
$(document).on('keyup, change, click', 'input:button,input.notnull,select.notnull', function (e) {
e.preventDefault();
toggleDisabledNavButton($(e.currentTarget).closest('.detailscontainer'));
});
detailscontainer.each(function (i, el) {
toggleDisabledNavButton(el.closest('.detailscontainer'));
});
如果您输入的是最后一个禁用的类没有从按钮中删除,但是如果您在选项中选择最后一个它将从我的问题按钮中删除该类。为什么会这样?
答案 0 :(得分:3)
删除选择器中的,
:
$(document).on('keyup change', '.notnull', function (e) {
如果您键入最后,仍然不会从按钮中删除禁用的类 但如果您在选项中选择最后一个,它将删除该类 从按钮这是我的问题。为什么呢?
由于,
再次: -
$(document).on('keyup change click', 'input:button,input.notnull,select.notnull', function (e) {
<强>为什么强>
作为jQuery documentation: -
.on(events [,selector] [,data],handler)
events类型:字符串
一个或多个空格分隔的事件类型和 可选的命名空间,例如&#34; click&#34;或&#34; keydown.myPlugin&#34;。