Для currentUnknownBox
, если я использую «var», ожидаемая функциональность не работает должным образом (currentUnknownBox становится первым щелчком элемента). Если я удалю var, он работает так, как ожидалось. Я предполагаю, что это имеет какое-то отношение к глобальному охвату. Может ли кто-нибудь объяснить это мне?Область Javascript - var vs global
jQuery(".box.unknown").live('click',function()
{
var currentUnknownBox = this;
//if we are NOT on mobile, use jQuery UI dialog
if (!Drupal.settings.is_mobile)
{
jQuery("#letter-input-dialog").dialog();
jQuery('#letter_input_form').submit(function()
{
var letter = jQuery("#letter_input").val();
jQuery("#letter-input-dialog").dialog('close');
jQuery("#letter_input").val('');
that.validateAndSaveLetter(currentUnknownBox, letter);
//Do not let the form actually submit
return false;
});
}
else
{
var letter = prompt('Please enter a letter to use in your guess');
that.validateAndSaveLetter(that.currentUnknownBox, letter);
}
});
EDIT: Проблема в том, я вновь объявить мою принять функцию каждый раз.
Где определяется 'that'? –
'currentUnknownBox', кажется, все в порядке, но что это такое? И почему существует также свойство currentUnknownBox' в переменной 'that' (ожидается в предложении else)? – Bergi
, не связанный с вашей проблемой, но в размещении курсорных фигур JS имеет значение и, вероятно, не должен быть в порядке: http://stackoverflow.com/questions/3641519/why-results-varies-upon-placement-of-curly- braces-in-javascript-code –