Используйте JQuery-click() на IPad

Это кажется хитрым. Мой iPad зависает, и кажется, что эта строка кода отвечает за это:

jQuery('#form_showAllUserHints').click();

HTML, связанный с событием, находится здесь:

<input id="form_showAllUserHints" class="hidden" type="button" value="showUserHints" onclick="A4J.AJAX.Submit('form',event,{'oncomplete':function(request,event,data){prepareHintMessages();},'similarityGroupingId':'form_showAllUserHints','parameters':{'userPrefActionParamShow':'NEW_PATIENT_HINT','form_showAllUserHints':'form_showAllUserHints'} } );return false;" name="form_showAllUserHints">

Как вы можете видеть, сгенерированный JavaServerFaces Ajax-JavaScript-Code должен запускаться с помощью JQuery-click()-Action. Как я могу справиться с этим на IPad, я прочитал, что IPad не нравится click()-JQuery-Action?

Были несколько схожих ситуаций, и я попытался пойти по пути только для IPad, как это (я думаю, что нет функции jQuery-touchstart(), я просто хочу показать свой план для решения этой проблемы):

function clickShowAllUserHintsButton(){
var isiPad = navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/iPad/i);
if (isiPad) {
    jQuery('#form_showAllUserHints').touchstart();// IPad-Bug: jQuery()-click geht nicht: http://www.mitch-solutions.com/blog/17-ipad-jquery-live-click-events-not-working
} else {
    jQuery('#form_showAllUserHints').click();// IPad-Bug: jQuery()-click geht nicht: http://www.mitch-solutions.com/blog/17-ipad-jquery-live-click-events-not-working
}
}

Заранее спасибо.

1 ответ

Решение

Там может быть особая причина, почему вы называете click() функция кнопки, но разве вы не можете просто вызвать функцию, которая связана с событием нажатия кнопки напрямую?

Так что вместо звонка

jQuery('#form_showAllUserHints').click();

Не могли бы вы просто позвонить

A4J.AJAX.Submit('form',event,{'oncomplete':function(request,event,data){prepareHintMessages();},'similarityGroupingId':'form_showAllUserHints','parameters':{'userPrefActionParamShow':'NEW_PATIENT_HINT','form_showAllUserHints':'form_showAllUserHints'} } );return false;

Если вам нужно нажать кнопку, чтобы добавить значение кнопки в запрос формы, вы можете программно добавить параметр в URL-адрес действия формы перед вызовом этой функции.

Другие вопросы по тегам