JQuery, триггер, связывание, странный параметр - PullRequest
0 голосов
/ 02 февраля 2010

У меня есть следующий код:

<body>
    <form>
        <input type="text"/>
    </form>

    <script>

        $( function () {

            $(document).bind("EVENT", function (event, element) {
                console.log("BIND", element, event);
            });

            $("form").each( function iterate(index, element) {

                console.log("BEFORE BIND", element);
                $(document).trigger("EVENT", element)
            });
        })
    </script>
</body>

Я ожидаю, что элемент, который я передаю TRIGGER, такой же, как и в BIND. но нет

ДО СВЯЗИ: это ФОРМА, как и ожидалось

BIND: это поле ввода, не знаю почему

это ошибка или я что-то пропустил?

лучший, Viktor

Ответы [ 2 ]

1 голос
/ 02 февраля 2010

Если я правильно понимаю ваш вопрос, это должно быть то, что вы ищете:

$(function () {
    $(document).bind("EVENT", function (e) {
        console.log('bind', 
                    e.target // this is the DOM element that triggered the event
                             // the form in this case
                    e);
    });

    // Triggering can be simplified a lot
    $('form').trigger('EVENT');

});
0 голосов
/ 02 февраля 2010

Документация по триггеру jQuery говорит, что в массиве должны быть переданы дополнительные параметры. Итак:

$(document).trigger("EVENT", [ element ])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...