Demo
我在这里有一个关于验证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'));
});
如果您键入最后一个类,则不会从按钮中删除禁用的类,但是如果您在选项中进行选择,则最后一个它将从按钮中删除类,这是我的问题。这是为什么
最佳答案
删除选择器中的,
:
$(document).on('keyup change', '.notnull', function (e) {
Fiddle
如果您键入最后一个,则禁用类仍不会从按钮中删除
但是如果您在最后一个选项中进行选择,它将删除该类
从按钮,这是我的问题。这是为什么
再次由于
,
:-$(document).on('keyup change click', 'input:button,input.notnull,select.notnull', function (e) {
Fiddle
为什么
作为jQuery documentation:-
.on(事件[,选择器] [,数据],处理程序)
事件类型:字符串
一种或多种以空格分隔的事件类型和
可选的名称空间,例如“ click”或“ keydown.myPlugin”。