मैं jquery सीख रहा हूं और मुझे निम्न अत्यंत सरल कोड चलाने में कठिनाई हो रही है।
मेरा HTML ऐसा दिखता है:
<html>
<head>
<title>JQUERY</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<input type="button" id="testbutton" value="test" />
</body>
मेरी स्क्रिप्ट .js इस तरह दिखती है:
$(document).ready(function(){
alert("document is ready");
});
$("#testbutton").click(function(){
alert("button clicked");
});
जब मैं पृष्ठ को ब्राउज़र में लोड करता हूं ... मुझे दस्तावेज़ लोड होने पर पहली चेतावनी मिलती है (इसलिए मुझे यकीन है कि मैं कम से कम सही पुस्तकालय का उपयोग कर रहा हूं और यह डाउनलोड हो रहा है आदि)।
हालाँकि, जब मैं अपने बटन पर क्लिक करता हूँ तो मुझे दूसरा अलर्ट नहीं दिखता है जो कहता है कि "बटन पर क्लिक किया गया है"
मैं क्या खो रहा हूँ?
उत्तर:
जवाब के लिए 3 № 1The click
हेंडलर के अंदर जाने की जरूरत है अपने $(document).ready
, यह सुनिश्चित करने के लिए कि यह बाध्य है जब डोम के लिए तैयार है, और तत्व को जावास्क्रिप्ट प्रसंस्करण के लिए उपलब्ध होने की गारंटी है:
$(document).ready(function(){
alert("document is ready");
// bind a click handler to #testbutton when the DOM has loaded
$("#testbutton").click(function(){
alert("button clicked");
});
});
वहाँ से प्रलेखन:
यह पहली बात के बारे में जानने के लिए है jQuery: यदि आप एक घटना के लिए काम करना चाहते है अपने पृष्ठ पर, आप इसे फोन करना चाहिए $ (दस्तावेज़) के अंदर । तैयार () समारोह.इसके अंदर सब कुछ होगा जैसे ही डोम और लोड है लोड पृष्ठ सामग्री लोड होने से पहले ।
उत्तर № 2 के लिए 1
आप संभवतः $ (document) के अंदर अपने ईवेंट हैंडलर को बाइंड करना चाहते हैं । तैयार () ईवेंट:
$(document).ready(function(){
alert("document is ready");
$("#testbutton").click(function(){
alert("button clicked");
});
});
यह यकीन है कि डोम अपने अंय स्क्रिप्ट से पहले भरी हुई है मार डाला जाता है ।देखो अगर यह तुंहारी समस्या हल करती है ।
उत्तर № 3 के लिए 1
तुम भी है कि एक के अंदर क्लिक करें बाध्यकारी की आवश्यकता document.ready
, इस तरह:
$(function(){ //short for $(document).ready(function(){
alert("document is ready");
$("#testbutton").click(function(){
alert("button clicked");
});
});
The क्यूं कर? है कि चयनकर्ता $("#testbutton")
जीत "टी तत्व खोजें id="testbutton"
यदि यह "चयनकर्ता के चलने पर तैयार नहीं है, तो इसे पृष्ठ में तत्व के बाद चलाने की आवश्यकता है, या document.ready
ऊपर की तरह हैंडलर ।