Объясняя свой код. выполнение идет этот путь (1) -> (2) -> (3)
var ButtonPressed; // executed as soon as the script tag is hit -- (1)
$(document).ready(function()
{
//...... //executed ONLY AFTER the DOM is ready - (3)
});
if (ButtonPressed === 1) //executed as soon as the script tag is hit - (2)
{
alert(ButtonPressed);
}
как комментарии указывают, то var ButtonPressed
выполняется первое, то выполнение переходит к if
проверки. Только после того, как DOM будет полностью готов, ваш кодовый блок внутри $(document).ready
будет выполнен.
Так что означает, что все глобальные масштабы кода вещи будут выполнены первым, а затем один внутри документа готовые
1) Если вы задумали Показывать уведомление, когда когда-либо кнопка щелкнул затем сделать это
$('#btn').on("click", function()
{
ButtonPressed = 1;
alert(ButtonPressed);
// do all the stuff that should happen when a button is clicked
});
2) Если у вас есть намерение сделать Проверьте, была ли нажата кнопка ??, то вы можете использовать setInterval
. используя это, вы можете проверить, была ли нажата кнопка или нет, за каждые 1 секунду. Как показано ниже.
var checkButtonStatus = setInterval(function(){
if (ButtonPressed === 1)
{
alert(ButtonPressed);
//do all your stuff as the button was clicked
clearInterval(checkButtonStatus); // remove interval as you don't need to check again.
}
}, 1000);
Примечание:I would say option 2 is not efficient way of doing it, Go for option 1
Это 'if' заявление фактически находится после' $ (документ) .ready() 'оператор? В этом случае он никогда не отобразит предупреждение, так как этот код всегда будет запущен до того, как кнопка будет нажата. – mikeyq6
Что вы пытаетесь сделать? – putvande
просто назначьте значение по умолчанию переменной ButtonPressed, например: 'var ButtonPressed = 0;' –