jQuery: связывание клавиш, такое же поведение, кроме одного - PullRequest
0 голосов
/ 19 сентября 2009

У меня есть некоторые входные данные (тип текста). Мне бы хотелось одинакового поведения для всех, кроме одного.

Я пробовал это:

$(document).ready(function() {

    $("input[type=text]").bind('keydown', function(e) {
        ....
    });

    $("#MyOtherInput").keydown(function(e) {
        .....
    });

});

MyOtherInput - это тип ввода texte с определенным поведением ....

Не могли бы вы мне помочь?

Спасибо

Ответы [ 3 ]

1 голос
/ 19 сентября 2009

Попробуйте это:

$('input[type=text]').not('input[type=text]#MyOtherInput').bind('keydown', function(e)
{
    ............
});

Он выберет все входные данные с типом текста, кроме элемента управления myotherinput. Попробуйте приведенный ниже пример.

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

</head>
<body>
    <div id="testdiv">
        <input id="Text1" type="text" /><br />
        <input id="Text2" type="text" /><br />
        <input id="Text3" type="text" /><br />
        <input id="Text4" type="text" /><br />
        <input id="Text5" type="text" /><br />
        <input id="Text6" type="text" /><br />
        <input id="MyOtherInput" type="text" />
    </div>
</body>

<script type="text/javascript">

    $(function()
    {
        $('input[type=text]').not('input[type=text]#MyOtherInput').bind('keydown', function(e)
        {
            alert('Common for all ');
        });

        $('input[type=text]#MyOtherInput').bind('keydown', function(e)
        {
            alert('Only for MyOtherInput');
        });        

    });

</script>

</html>
0 голосов
/ 20 сентября 2009

Вы можете использовать имя класса, чтобы получить поле ввода, а затем использовать его

$(document).ready(function() {

    $(".InutClass").bind('keydown', function(e) {
        ....
    });

});

Приведенный выше код будет связывать все элементы, которые имеют InputClass, класс css для поля ввода.

0 голосов
/ 19 сентября 2009

Просто отсоедините событие от поля, которое требует определенного события.

$("#MyOtherInput").unbind("keydown").keydown(function(){});
...