У меня проблема только с IE; FF, Chrome и Safari не имеют этой проблемы. Но я думаю, что в моем коде есть что-то, что не нравится IE, потому что я использовал одну и ту же технику много раз и у меня не было проблем с IE.
Вот проблема:
У меня есть код, который выглядит следующим образом:
var wrongSide = $('#wrongSide');// IE cannot handle in this case (but has before)
wrongSide.dialog(
{
autoOpen:false,
resizable:false,
modal:true
});
Тогда в HTML у меня есть функция onchange = (), где функция вызывает другую функцию, которая выглядит следующим образом:
function wrongSideTrigger()
{
wrongSide.dialog('open');
}
Обратите внимание, что я не показываю промежуточную функцию, поскольку она не уместна.
Вышеописанное прекрасно работает, как указано в FF, Safari и Chrome Однако в IE он не работает и выдает сообщения об ошибках, в которых говорится, что «объект не имеет этого свойства» для строки, которая пытается назначить селектор jquery для переменной.
Однако, если я изменю код, чтобы не использовать селекторные переменные, он будет работать для IE. Код выглядит следующим образом:
$('#wrongSide').dialog(
{
autoOpen:false,
resizable:false,
modal:true
});
и это:
function wrongSideTrigger()
{
// wrongSide.dialog('open');
$('#wrongSide').dialog('open');
}
тогда это также работает в IE.
Странно то, что я проделывал эту технику много раз, и IE не испытывал проблем с "jquery selector vars".
Мне интересно, есть ли какая-то синтаксическая ошибка или другая, которая не нравится IE.
Есть идеи?