1

我有 4 个文本框,我写了一些代码:

$('input[type="text"]').keyup(function () {
    if ($(this).val() == '') {
...

我不想将此代码应用于 1 texbox,我该怎么办?

4

2 回答 2

3

给那个文本框一个id并像这样更新你的代码:

$('input[type="text"]:not("#id_of_txt")').keyup(function () {
    if ($(this).val() == '') {
    }
});

此解决方案只是为了回答您的问题,而不是建议作为一种好的做法。您可能在某个时候在 DOM 中添加更多输入框,并且您将不得不继续添加到:not列表中,因为其他所有内容都将绑定到 keyup 事件。

更好的解决方案是给三个输入框一个公共类,并像这样更新你的代码:

$('input.class_of_txt').keyup(function () {
于 2012-11-23T12:43:17.587 回答
1

向 3 个文本框添加一个通用类。

<input type="text" class="myclass" />

然后只引用该类:

$('.myclass').keyup(function () {

任何其他解决方案都会降低代码的可维护性。如果会有另一个特殊的文本框怎么办?你也会为此破例吗?

于 2012-11-23T12:42:14.800 回答