作者willy69wu31 (小小吳)
看板Ajax
標題[問題] Opera下選取單選框沒有及時反應
時間Mon Jun 25 20:37:07 2012
※ [本文轉錄自 Web_Design 看板 #1Fw5fV6U ]
作者: willy69wu31 (小小吳) 看板: Web_Design
標題: [問題] Opera下選取單選框沒有及時反應
時間: Mon Jun 25 20:32:27 2012
http://114.33.156.118:46900/npueScience/
這次受到某人的委託,需要製作電子問卷系統,PHP還是HTML什麼的目前不是問題
問題在於我希望讓單選題的答案在按下去後,可以有藍底標示出選取的答案
IE6~9 火狐 Google瀏覽器 都一切正常
唯獨Opera 12.00點答案卻不會變色。
**可是過一陣子卻又可以!**
重新整理後就又回到不會變色的狀態。
我測試發現Opera似乎讀取好這個網頁後過十幾秒鐘 滑鼠點答案才會有變色反應
原因是 開頭十幾秒鐘內 // 有jQuery 1.7.2
var selected = $('input[name=mcq]:checked').val();
selected竟然都是undefined
十幾秒過後selected就正常的出現1~4的答案代碼
想請教各位是否知道如何解決?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.156.118
※ 編輯: willy69wu31 來自: 114.33.156.118 (06/25 20:33)
※ 編輯: willy69wu31 來自: 114.33.156.118 (06/25 20:36)
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: willy69wu31 (114.33.156.118), 時間: 06/25/2012 20:37:07
1F:→ nenpow:not sure 改用document ready event 看看? 06/25 20:52
2F:推 Fantasywind:opera預載機制的關係? 06/25 22:26
3F:→ sk1765:這個我試過了 把<script>整段移到head裡 或放在body最尾端 06/25 22:47
4F:→ sk1765:在opera都正常 就是放在body最前面不行 06/25 22:49
6F:→ sk1765:sorry 放在head還是一樣不行 直接用checked屬性吧 opera也 06/26 00:17
8F:→ sk1765:結論是jquery又出包了 那一段不要用jquery寫就好 06/26 00:24
9F:推 qwer820404:改用$(document).ready呢? 06/26 00:27
10F:→ sk1765:至於原因可能是 $('input[name=mcq]:checked').val();這段 06/26 00:28
11F:→ sk1765:在一開始做了window.load 就跑了這段 當時根本沒有任何勾選 06/26 00:30
13F:→ sk1765:而造成了jquery內的錯誤值 06/26 00:32
14F:→ sk1765:ready試過了 沒用opera 一樣掛 06/26 00:33
15F:→ willy69wu31:感謝 sk1765 解決了 06/26 00:33
16F:→ willy69wu31:window.load那段是為了某些瀏覽器按F5後會保留選取值 06/26 00:34
17F:→ willy69wu31:所以重整完就重新上色 06/26 00:34
18F:推 qwer820404:了解 所以怎麼解決掉這問題?? 06/26 00:37
21F:→ willy69wu31:神奇,我的症狀和樓上寫的一樣.. 06/26 00:55
22F:→ willy69wu31:我再進一步檢查一下 06/26 00:56
24F:→ willy69wu31:我改用.filter(':checked');後 opera12就正常了 06/26 00:59
25F:→ willy69wu31:所以和report描述算相符...吧? 不過底下的test case 06/26 00:59
26F:→ willy69wu31:卻又沒有問題 06/26 00:59
27F:→ qwer820404:我在猜想是因為 他chaining式的用法 在opera 上面 06/26 01:01
28F:→ qwer820404:實現的時候產生bug吧 06/26 01:01
29F:→ qwer820404:我剛在想sk那段說 沒有任何選項勾選 其實會回傳 06/26 01:02
30F:→ qwer820404:undefined 應該是不會造成到說掛掉的問題 06/26 01:02
31F:→ sk1765:undefined 是不會掛 但是如果是一個變數裡面是undefined 06/26 01:09
32F:→ sk1765:正好這個變數 又叫了方法 譬如x=undefined ; x.checked掛了 06/26 01:11
34F:推 qwer820404:我F5 關掉重開 清Cache 都試了 沒有問題呢@ 06/26 01:44
35F:→ qwer820404:除了一個問題就是網頁還在跑就先點選項 那不會有反應 06/26 01:44