IE पर मैं (बहुत गैर-मानक, लेकिन काम कर रहा) jQuery के साथ ऐसा कर सकता हूं
if ($.browser.msie)
$(document).keydown(function(e) { if (e.keyCode == 8) window.event.keyCode = 0;});
लेकिन क्या यह एक तरह से संभव है जो फ़ायरफ़ॉक्स पर काम करता है, या एक बोनस के लिए क्रॉस-ब्राउज़र तरीके से?
रिकार्ड के लिए:
$(document).keydown(function(e) { if (e.keyCode == 8) e.stopPropagation(); });
कुछ नहीं करता।
$(document).keydown(function(e) { if (e.keyCode == 8) e.preventDefault(); });
समस्या को हल करता है, लेकिन पृष्ठ पर अनुपलब्ध बैकस्पेस कुंजी को प्रस्तुत करता है, जो मूल व्यवहार से भी बदतर है।
संपादित करें: इसका कारण यह है कि मैं एक साधारण वेब पेज नहीं बना रहा हूं, लेकिन एक बड़ा अनुप्रयोग है। यह अविश्वसनीय रूप से कष्टप्रद है क्योंकि आप गलत स्थान पर बैकस्पेस दबाए जाने के कारण केवल 10 मिनट का काम खो देते हैं। गलतियों को रोकने का अनुपात बनाम कष्टप्रद उपयोगकर्ताओं को बैकस्पेस कुंजी को नेविगेट करने से रोकते हुए 1000/1 से ऊपर का रास्ता होना चाहिए।
EDIT2: मैं इतिहास नेविगेशन, सिर्फ दुर्घटनाओं को रोकने की कोशिश नहीं कर रहा हूं ।
EDIT3: @brentonstrines ने टिप्पणी की (प्रश्न के इतना लोकप्रिय होने के बाद यहां ले जाया गया): यह एक दीर्घकालिक 'फिक्स' है, लेकिन आप वेबकिट में इस व्यवहार को बदलने के लिए क्रोमियम बग के पीछे अपना समर्थन फेंक सकते हैं