亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

讓jQuery識別IE中的.change()

讓jQuery識別IE中的.change()

鳳凰求蠱 2019-07-26 15:28:38
讓jQuery識別IE中的.change()當我更改/點擊單選按鈕組時,我正在使用jQuery來隱藏和顯示元素。它在Firefox等瀏覽器中運行良好,但在IE 6和7中,僅當用戶點擊頁面上的其他位置時才會執行操作。詳細說明,當你加載頁面時,一切看起來都很好。在Firefox中,如果單擊單選按鈕,則會隱藏一個表行,并立即顯示另一個表行。但是,在IE 6和7中,您單擊單選按鈕,在您單擊頁面上的某個位置之前不會發生任何事情。只有這樣,IE才會重繪頁面,隱藏并顯示相關元素。這是我正在使用的jQuery:$(document).ready(function () {   $(".hiddenOnLoad").hide();   $("#viewByOrg").change(function () {     $(".visibleOnLoad").show();     $(".hiddenOnLoad").hide();   });   $("#viewByProduct").change(function () {     $(".visibleOnLoad").hide();     $(".hiddenOnLoad").show();   });});這是它影響的XHTML的一部分。整個頁面驗證為XHTML 1.0 Strict。<tr>   <td>View by:</td>   <td>     <p>       <input type="radio" name="viewBy" id="viewByOrg" value="organisation"       checked="checked" />Organisation</p>     <p>       <input type="radio" name="viewBy" id="viewByProduct" value="product" />Product</p>   </td></tr><tr class="visibleOnLoad">   <td>Organisation:</td>   <td>     <select name="organisation" id="organisation" multiple="multiple" size="10">       <option value="1">Option 1</option>       <option value="2">Option 2</option>     </select>   </td></tr><tr class="hiddenOnLoad">   <td>Product:</td>   <td>     <select name="product" id="product" multiple="multiple" size="10">       <option value="1">Option 1</option>       <option value="2">Option 2</option>     </select>   </td></tr>如果有人有任何想法為什么會這樣,以及如何解決它,他們將非常感謝!
查看完整描述

3 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

嘗試使用.click而不是.change


查看完整回答
反對 回復 2019-07-26
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

你有沒有嘗試過IE的onpropertychange事件?我不知道它是否有所作為,但它可能值得一試。當通過JS代碼更新值時,IE不會觸發更改事件,但是在此實例中,onpropertychange可能會起作用。

$("#viewByOrg").bind($.browser.msie? 'propertychange': 'change', function(e) {
  e.preventDefault(); // Your code here });


查看完整回答
反對 回復 2019-07-26
  • 3 回答
  • 0 關注
  • 722 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號