當頁面上的兩個輸入都沒有焦點時,我想要調用某個函數。如果用戶只是從一個輸入切換到另一個輸入,我不希望該函數被調用。有任何想法嗎?JavaScript - 檢測兩個輸入中哪一個都沒有焦點
0
A
回答
1
試試這個(編輯):
<input type="text" onfocus="doFocus(1)" onblur="doBlur(1)"/>
<input type="text" onfocus="doFocus(2)" onblur="doBlur(2)"/>
<script>
var fstate=[]; // focus state
fstate[1] = false;
fstate[2] = false;
function doit() { alert('lost focus'); }
function doBlur(i) {
fstate[i]=false;
// give some time to the other element to receive focus
// because the onblur event gets fired before the onfocus
setTimeout("if (!fstate[1] && !fstate[2]) doit();",50);
}
function doFocus(i) { fstate[i]=true; }
</script>
0
試試這個:當文本框被集中,當它失去焦點設置爲false
<input type="text" Id="Text1" onfocus="InTextbox()" onblur="OutOfTextBox()"/>
<input type="text" id="Text2" onfocus="InTextbox()" onblur="OutOfTextBox()"/>
<script>
var inTextBox=false;
function InTextBox()
{
inTextBox=true;
}
function OutOfTextBox()
{
inTextBox=false;
}
function YourFunction()
{
if(inTextBox) return; //one of the textboxes has focus so return
.......
}
</script>
變量inTextBox設置爲true。
+0
你沒有在調用事件處理任何事情。不應該 - 'onfocus =「InTextbox()」'?另外,爲什麼不是構造函數(或名稱空間)的大寫名稱? – kangax 2009-09-22 12:54:39
+0
在用戶將焦點從一個文本框直接切換到另一個文本框的用例中,這不起作用 – 2009-12-08 08:31:21
相關問題
- 1. jquery檢測輸入焦點
- 2. 檢測輸入是否有焦點
- 3. 當沒有文本輸入焦點時檢測空格鍵
- 4. 使用JavaScript或jQuery檢測哪些表單輸入具有焦點
- 5. javascript/jquery:檢測前兩個元素中的哪一個
- 6. javascript輸入焦點
- 7. 如果輸入焦點集中,Javascript會檢測
- 8. 使用Angular 2+檢測輸入焦點
- 9. 檢測是否沒有EditTexts有焦點
- 10. 沒有焦點的按鍵檢測
- 11. 如何檢測哪個jQuery UI Accordion頭部具有「焦點」?
- 12. C#:檢測哪個應用程序有焦點
- 13. 在jQuery的焦點上,檢測焦點轉移或沒有元素有焦點
- 14. 哪個iframe具有焦點
- 15. JavaScript模糊事件 - 有沒有什麼辦法來檢測哪個元素現在有焦點?
- 16. JQuery將焦點事件附加到下一個焦點輸入
- 17. 檢查輸入是否有焦點
- 18. 檢查一個字段在Access 2013中是否沒有焦點
- 19. JavaScript輸入焦點切換
- 20. 使用javascript輸入焦點
- 21. 在JavaScript中檢測焦點丟失
- 22. javascript - 檢測哪個視圖?
- 23. WPF接受沒有焦點的輸入
- 24. jstree輸入元素沒有焦點
- 25. 檢查哪個JTextField將獲得焦點
- 26. FragmentActivity檢測具有焦點
- 27. 焦點並用javascript選擇另一個輸入文本字段?
- 28. 帶有一個輸入「文本」的html頁面。焦點在哪裏?
- 29. 如何測試Selenium RC中哪個元素具有焦點?
- 30. 我如何測試Selenium RC中哪個元素具有焦點?
這基本上是我在想的。我希望有一種方法可以避免setTimeout,因爲它看起來有點冒失,但這是我迄今爲止唯一能夠提出的解決方案。 – 2009-09-22 17:41:29