Jquery вызывает клик - PullRequest
       4

Jquery вызывает клик

0 голосов
/ 02 июня 2009

Я пытался использовать jquery для запуска клика.

Я обнаружил, что срабатывает клик, например: $ (button) .trigger ('click'); не следуйте инструкциям Я пытался отправить AJAX, вызвав кнопку отправки, но ничего не вышло.

Я знаю, что могу отправить напрямую. Но есть ли способ вызвать кнопку? Спасибо.

Ответы [ 4 ]

8 голосов
/ 02 июня 2009

jQuery не вызывает преднамеренный "щелчок" по элементам A специально. Я не знаю почему.

Но вы можете использовать технику, которую они используют, чтобы вызвать ссылку самостоятельно:

$link[0].click(); // extract the native DOM element and trigger the click

Это не проверено, но оно извлечено из исходного кода jQuery и должно работать.

2 голосов
/ 02 июня 2009

Не понимаю, зачем вам это нужно. Возможно, вы хотите, чтобы метка кнопки отправки была отправлена ​​вместе с формой (чтобы ваш серверный код знал, какая кнопка нажата). В этом случае вы можете сделать что-то вроде этого:

var $form = $("form"); // your form
var $button = $(":submit",$form); // your button
var $hidden = $("<input type='hidden' />");

$hidden.attr("name",$button.attr("name"));
$hidden.val($button.val());

$form.append($hidden);
$form.submit();

Я уверен, что это можно оптимизировать, но это сработает (будет имитировать «реальную» отправку с помощью кнопки отправки)

1 голос
/ 02 июня 2009

Не знаю, почему вы хотите это сделать, но я проверил это здесь со следующим, и это сработало.

<form id="frm" action="#">
 <input type="submit" id="btnSubmit" />
  ...
  ...
</form>

Позвони -> JQuery ( "# btnSubmit") триггер ( "щелчок");.

0 голосов
/ 19 марта 2013

Еще одна альтернатива, протестированная в Chrome, Firefox, IE6, IE8:

window.location = $('a').trigger('click').href('attr');

В итоге я использовал это, потому что у нас есть обработка ссылок jquery по умолчанию на событиях кликов, но мы также хотели инициировать фактическое посещение ссылки (ссылка может быть хеш-кодом или междоменной ссылкой).

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