ฉันจะอัปเดต window.location.hash โดยไม่ต้องกระโดดเอกสารได้อย่างไร
ฉันมีแผงเลื่อนบนเว็บไซต์ของฉัน เมื่อการเคลื่อนไหวเสร็จสิ้นฉันจะตั้งค่าแฮชเป็นอย่างนั้น function() { window.location.hash = id; } (นี่คือการติดต่อกลับและidได้รับมอบหมายก่อนหน้านี้) วิธีนี้ใช้งานได้ดีเพื่อให้ผู้ใช้สามารถคั่นหน้าพาเนลและสำหรับเวอร์ชันที่ไม่ใช่ JavaScript ให้ทำงานได้ อย่างไรก็ตามเมื่อฉันอัปเดตแฮชเบราว์เซอร์จะข้ามไปยังตำแหน่ง ฉันคิดว่านี่เป็นพฤติกรรมที่คาดหวัง คำถามของฉันคือ: ฉันจะป้องกันได้อย่างไร คือฉันจะเปลี่ยนแฮชของหน้าต่างได้อย่างไร แต่ไม่มีเบราว์เซอร์เลื่อนไปที่องค์ประกอบหากมีแฮชอยู่? บางสิ่งบางอย่างevent.preventDefault()? ฉันใช้ jQuery 1.4 และปลั๊กอิน scrollTo ขอบคุณมาก! ปรับปรุง นี่คือรหัสที่เปลี่ยนพาเนล $('#something a').click(function(event) { event.preventDefault(); var link = $(this); var id = link[0].hash; $('#slider').scrollTo(id, 800, { onAfter: function() { link.parents('li').siblings().removeClass('active'); link.parent().addClass('active'); window.location.hash = id; …