Я использую диалоговое окно jQuery, которое находится на этом link, и я пытаюсь открыть его с помощью события onClick, а не с помощью кнопки. Он работает в Firefox и Chrome, но не работает в IE. Если вы перейдете на мой тестовый сайт и нажмите на верхний левый (первый) флажок, вы увидите, что он вызывает диалог в FF и Chrome, но в IE8 или IE9 нет выбранного «ручного» курсора. http://calmaps.co.calumet.wi.us/datapopuptest.html Я не владею JavaScript, но я просто использую пример, поэтому я не написал код, просто изменил текст, чтобы удовлетворить мои потребности.onClick event и IE
The яваскрипта им пытаются вызвать в HTML:
$("#request-data")
//.button()
.click(function() {
$("#dialog-form").dialog("open");
});
мой HTML вызова JavaScript:
<a id="request-data" title="Municipal Boundary Data" onclick= "$('#request-data').click(function() {$('#dialog-form').dialog('open');
return false;})" href="PleaseEnableJavascript.html"><img src="img/muni.png" alt="Calumet Municipal Boundaries" /></a>
Как я уже сказал, это работает в Chrome и Firefox, но я не получаю ничего в IE, нет ошибки, просто ничего. Я провел день, исследуя эту проблему, и я надеюсь, что смогу получить некоторое представление. Благодаря!
Вы должны положить JS код в '' файле
Учитывая, что в
onclick
вы определение click handler для элемента (т.е. при нажатии на нее вы говорите ему, что делать, когда он нажал), тот факт, что он работает в любом броузера первый раз, когда вы нажмите, это является свидетельством закона Постэла.Вы можете либо изменить OnClick, чтобы делать то, что вам нужно:
Или сделать его вызвать функцию:
Или вы могли бы просто назначить обработчик щелчка в
document.ready
, и то вам ничего не нужно вonclick
источник
2013-03-22 13:53:43 stuartd
Я бы предложил второй вариант, иначе вы не пропустите пункт использования jQuery. – SDC
@stuartd Пожалуйста, простите мое невежество, но когда я поместил в свой код блок $ (document) .ready ..., он просто испортил страницу, поместив поля диалогового окна, которые должны находиться в новом окне на главная веб-страница. Я предположил, что мне нужно удалить событие onClick из html, что я и сделал, и он все еще не работает. Спасибо еще раз за помощь! – user2199437
On e всех пунктов использования jQuery заключается в том, что вы можете определить свои события кликов, не используя
onclick
в HTML.Метод
$(...).click()
не предназначен для использования внутри атрибутаonclick
.Напишите обработчик клика jQuery в своей функции
$(document).ready()
и вытащите его из HTML.Надеюсь, что это поможет.
источник
2013-03-22 13:56:58 SDC