moyna coder Ответов: 2

Сомнение в порядке исключения обработчика событий!!


у меня есть два обработчика событий click в двух разных JS-файлах.
скажем, в файле 1:
$('.тест').функция живые('нажмите',() {
// действие 1
}

файл 2 :
$('.тест').функция живые('нажмите',() {
// действие 2
}

Что я уже пробовал:

который будет выполняться первым .? Я предполагаю, что он будет выполнен в зависимости от порядка загрузки JS-файла. но я не уверен . может ли кто-нибудь развеять мои сомнения ??

NotPolitcallyCorrect

Почему бы тебе не попробовать и не посмотреть, кто выстрелит первым? Это заняло бы у вас меньше времени, чем публикация здесь только для того, чтобы вам сказали сначала попробовать.

Richard Deeming

.live() устарел с jQuery v1. 7; Если вы используете 1.7 или более позднюю версию, вы должны использовать .on()[^] вместо.

moyna coder

Дело не в том, что я не пробовал .. Я пробовал, кажется, исполнение отличается некоторое время. Я просто хочу подтвердить .

2 Ответов

Рейтинг:
2

Karthik_Mahalingam

First File ссылка будет выполнена первой.

протестировано как показано ниже

<!DOCTYPE html>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js">
    </script>
    <script src="Scripts/JavaScript1.js"></script>
    <script src="Scripts/JavaScript2.js"></script> 
</head>
 
<body >
   <button class="test"> click to test </button>  
</body>
</html>
 
</html> 


Файл 1
$('.test').live('click', function () {
    alert('file1'); // shown 
});


Файл 2

$('.test').live('click', function () {
    alert('file2');
});


Рейтинг:
1

Richard Deeming

В то время как обработчики событий в настоящий момент по-видимому, исполняются в том порядке, в котором они были зарегистрированы (см. Решение №1[^]), такое поведение, похоже, нигде не задокументировано.

Это означает, что это внутренняя деталь реализации, и она может измениться в будущей версии jQuery или, возможно, даже с обновлением браузера.

Полагаться на различные обработчики событий, выполняющиеся в определенном порядке, - это "запах кода[^]". Если вам действительно нужен набор действий для выполнения в определенном порядке, то пользователь a одиночный обработчик, и вызвать действия в требуемом порядке.