Разница между методами jquery.simulate.js и jQuery? - PullRequest
5 голосов
/ 12 декабря 2010

Исходная библиотека пользовательского интерфейса jQuery содержит файл jquery.simulate.js для имитации событий мыши и клавиатуры. В чем преимущество использования этой имитирующей функции вместо методов событий jQuery при тестировании jQuery UI?

1 Ответ

4 голосов
/ 17 января 2011

Файл jquery.simulate.js используется только для имитации событий - он не обеспечивает полноценную систему управления событиями, как это делает jQuery. Это означает, что он создает поддельный объект события, а затем отправляет это событие в DOM. Это можно сравнить с методом jQuery .trigger(), который выполняет аналогичные действия.

Однако существует много свойств объекта события, которые можно изменить, включая то, должен ли он всплыть или нет, каков был исходный элемент, были ли нажаты какие-либо специальные клавиши, точные положения x и y, по которым была нажата мышь и так далее. jQuery скрывает это от нас, когда мы вызываем .trigger(), устанавливая только необходимые свойства для некоторых значений по умолчанию. jquery.simulate.js, с другой стороны, предназначен для тестирования (обратите внимание, что файл находится в "jquery-ui / tests /"). В целях тестирования вам потребуется более детальный контроль над объектом события, чтобы лучше имитировать реальное взаимодействие с пользователем.

Короче говоря, если вы не проводите тестирование, скорее всего, вам вообще не понадобится jquery.simulate.js. Даже если вам нужны некоторые из предоставляемых им функций, имейте в виду, что файл официально не является частью библиотеки jquery-ui.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...