เรามี GIF สปินเนอร์แบบเคลื่อนไหวที่เราใช้เพื่อเพิ่มสีสันให้กับปุ่มส่งหลังจากที่ผู้ใช้ส่งแบบฟอร์มแล้ว หากการตรวจสอบทั้งหมดผ่านแบบฟอร์ม เราจะกำหนดพื้นหลังผ่านวิธี css()
ของ jQuery โดยตั้งค่ารูปภาพพื้นหลัง ตำแหน่ง และสีทั้งหมดในที่เดียว
IE9 ไม่แสดงภาพพื้นหลังเมื่อส่ง แม้ว่าจะยังคงเห็นได้ในเบราว์เซอร์อื่นก็ตาม
เทคนิคนี้ทำงานได้ดีในเบราว์เซอร์ IE รุ่นก่อนๆ แต่ดูเหมือนว่าจะใช้งานไม่ได้ใน IE9 รวมถึงใน "โหมดเบราว์เซอร์" รุ่นเก่าด้วย ฉันไม่แน่ใจว่านี่เป็นจุดบกพร่องใน IE9 หรือไม่ แต่พฤติกรรมได้เปลี่ยนไปอย่างแน่นอน และฉันไม่สามารถเชื่อถือโหมด IE7/8 ให้ทำงานตามที่คาดไว้ได้เพราะเหตุนี้
ดูเหมือนว่าบางที IE ตัดสินใจที่จะไม่ทาสีใหม่อีกต่อไปหลังจากที่ผู้ใช้ส่งแบบฟอร์มแล้ว หากเป็นกรณีนี้ ฉันไม่แน่ใจว่าฉันมีวิธีแก้ไข แต่ฉันอยากจะคิดว่านี่ไม่เป็นเช่นนั้นจริงๆ เราประสบปัญหาก่อนหน้านี้เกี่ยวกับเทคนิคนี้ใน Firefox โดยเราพบว่า Firefox หยุดคำขอ http ทั้งหมด นอกเหนือจากคำขอแบบฟอร์ม ซึ่งหมายความว่าหากภาพพื้นหลังไม่อยู่ในแคช ก็จะไม่ทำงาน ด้วยเหตุนี้ เราจึงได้โหลดสปินเนอร์ไว้ล่วงหน้าบนออบเจ็กต์รูปภาพในหน่วยความจำ
ที่น่าสนใจคือถ้าฉันเรียกใช้วิธีที่อัปเดต CSS บนปุ่มจากคอนโซลเครื่องมือ IE dev ด้วยตนเอง มันก็ใช้งานได้ดี เฉพาะเมื่อเรามีการส่งจริงเท่านั้นที่จะดื้อรั้นและล้มเหลวในการหมุน สิ่งที่น่าสนใจคือ จะ ลบข้อความออกจากปุ่มส่ง ซึ่งเป็นส่วนที่สองของเอฟเฟกต์
ใครมีความคิดเห็นเกี่ยวกับสาเหตุที่ทำให้เกิดสิ่งนี้/จะป้องกันอย่างไร
ต่อไปนี้เป็นโค้ด live()
d เวอร์ชันที่เพรียวบางลงซึ่งจัดการการส่ง:
jQuery.fn.disableSubmit = function() {
this.find("input[type=submit]").each(function() {
$(this).css({"background": "url(/asdasdasd.gif) no-repeat 50% 50%"});
});
return this;
};
$("form").live("submit", function() {
var form = $(this);
form.disableSubmit();
return true;
});
<button type=submit><img ...gif></button>
มันจะแสดงพฤติกรรมแบบเดียวกันหรือไม่? - person c-smile   schedule 11.05.2011hide().show(0)
นั้นค่อนข้างดี แต่ดูเหมือนว่าจะปิดการใช้งานภาพเคลื่อนไหวบน GIF แบบเคลื่อนไหวที่เรามีเป็นภาพพื้นหลังของเรา เกี่ยวกับeach()
นั้น จริงๆ แล้วมีหลายสิ่งที่เกิดขึ้นในแต่ละครั้งของเรา มากกว่าแค่การโทรcss()
และไม่สามารถเชื่อมต่อได้ทั้งหมด - person thynctank   schedule 11.05.2011