[英]Getting Value of Variable from Inside Mouse Event Function
編輯:當我對javascript處理變量的方式產生頓悟時,我很想刪除這個問題。 函數更改后,即可在函數外部訪問“ CorrectAnswer”變量。 如果在函數運行后我要檢查變量,例如單擊按鈕,它將顯示變量的正確值,就像我想要的那樣。 如果編輯要刪除此問題,我沒有異議。 但是,如果它可以幫助其他人具有相同的頓悟感,如果他們面臨同樣的問題,我很樂意放棄。 我為我的“新穎性”表示歉意,但我正在學習! 感謝大家...你們為我們所有人提供了出色的服務!
我正在Adobe Animate HTML5 Canvas中的一個拼圖項目。 我試圖將變量值從鼠標事件的內部傳遞到鼠標事件的外部。 具體來說,我想獲取傳遞給函數外部的“ CorrectAnswer”的值。
我了解可變范圍的概念。 到目前為止,我已經看到了使用jQuery完成的操作(例如, 如何從匿名鼠標事件函數內部訪問變量? ),但是我想知道是否可以在Adobe Animate HTML5Canvas中使用的Easeljs框架內完成操作。 我嘗試過在函數和其他涉及“返回CorrectAnswer”和另一個函數的方法之外定義變量,但無濟於事。
function onMouseUp(evt){
var item = evt.currentTarget;
item.drag = false;
var pt = item.localToLocal(item.dot.x, item.dot.y,
item.TargetAnswer);
if(item.TargetAnswer.hitTest(pt.x, pt.y) ){
item.x = item.TargetAnswer.x;
item.y = item.TargetAnswer.y;
CorrectAnswer=true;}
else
{CorrectAnswer=false;}
}
當然是console.log(CorrectAnswer); 函數內部產生所需的值。 放置在外部,它僅產生變量的初始定義值。 非常感謝您提供任何幫助。
在函數外定義變量應該可以:
let correctAnswer = false; const onMouseUp = e => { correctAnswer = true; }; document.querySelector('button.set').addEventListener('mouseup', onMouseUp); document.querySelector('button.output').addEventListener('click', e => console.log(correctAnswer));
<button class="output">output correctAnswer</button> <button class="set">set correctAnswer to true</button>
如果問題仍然存在,您可能想向我們提供更多信息。 格里茨
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.