2012-07-03 15 views
9

मैं ट्विटर बूटस्ट्रैप का उपयोग कर रहा हूं और मुझे बटन बदलने के लिए प्रतीत नहीं होता है।ट्विटर बूटस्ट्रैप बटन जेएस काम नहीं कर रहा है

मैं http://jsfiddle.net/YCst4/1/ से जेएस की प्रतिलिपि बना रहा हूं और मुझे कोई प्रतिक्रिया नहीं मिल रही है। ऐसा लगता है कि मेरे पास jQuery लोड नहीं है, लेकिन मेरे पास मेरे हेडर में bootstrap.min.js लोड है। मुझे पृष्ठ पर अन्य जावास्क्रिप्ट के साथ कोई समस्या नहीं है।

<script> 
$('#button').button(); 

$('#button').click(function() { 
    $(this).button('loading'); 
}); 
</script> 

<button class="btn" id="button" type="button" data-text-loading="Loading...">Press Me</button> 

यह क्या पैदा पर कोई भी विचार:

यह वही है मैं अपने Codeigniter ध्यान में रखते हुए किया है? बूटस्ट्रैप-बटन.जेएस बूटस्ट्रैप के साथ आता है bootstrap.min.js का एक हिस्सा नहीं है?

http://twitter.github.com/bootstrap/javascript.html#buttons

संपादित करें:

जब मैं देखने स्रोत पेज, मैं bootstrap.min.js हैडर दृश्य में लोड देख सकते हैं, और उस पर यह स्रोत है देखने के लिए मैं क्लिक कर सकते हैं, इसलिए चाल बराबर है। हालांकि, बटन जेएस कोड केवल तभी काम करता है जब मैं वास्तविक सामग्री दृश्य में <script src="http://site.dev/assets/admin/js/bootstrap.min.js"></script> दोहराता हूं।

मैंने jQuery को bootstrap.min.js से ऊपर एक पंक्ति लोड की है और jQuery तत्वों को उसी दृश्य में लोड किया गया है जैसे बटन पूरी तरह से काम करता है। मैं उलझन में हूं।

उत्तर

14

मेरे पास jquery-ui-1.8.21.custom.min.js bootstrap.min.js के बाद लोड हो रहा था। जाहिर है कि कुछ संघर्ष है।

+1

वास्तविक समस्या bootstrap.js को jQuery की आवश्यकता है। Bootstrap.js में jQuery कोड है इसलिए यही है कि jquery को पहले आयात किया जाना है। संघर्ष के साथ इसका कोई लेना-देना नहीं है। –

2

बटन डीओएम का हिस्सा होने से पहले आप बटन पर क्लिक करने की कोशिश कर रहे हैं। अपनी सामग्री को दस्तावेज़ तैयार फ़ंक्शन में रखें और आपको ठीक होना चाहिए।

9

आपको दस्तावेज़ को तैयार करने के लिए आपको एक दस्तावेज़ तैयार करने की आवश्यकता है ताकि पेज तैयार होने के बाद यह चल सके।

$(document).ready(function(){ 
    $('#button').button(); 

    $('#button').click(function() { 
    $(this).button('loading'); 
    }); 
}); 

जेएस फिडल स्वचालित रूप से आपके लिए ऐसा करने लगता है, यही कारण है कि यह वहां काम करता है।

+0

फिर भी प्रयास विफल लोड करने के लिए की जरूरत है और यह राज्य बदल नहीं है। – Motive

+0

मुझे कोड इग्निटर के साथ कोई अनुभव नहीं है, लेकिन मैं पुष्टि करता हूं कि जावास्क्रिप्ट वास्तव में चल रहा है और यह बटन को सफलतापूर्वक बाध्य कर रहा है। –

+0

"ऐसा लगता है कि मेरे पास jQuery लोड नहीं है, लेकिन मेरे पास मेरे हेडर में bootstrap.min.js लोड है।" मैं उलझन में हूँ, क्या आपके पास JQuery लोड है? आपको इसे bootstrap.min.js से अलग से लोड करना होगा, जो बूटस्ट्रैप प्लगइन्स को लोड करता है –

0

मुझे हाल ही में एक ही समस्या थी। यहां कुछ चीजें हैं जो आपकी मदद कर सकती हैं:

  1. क्या आप अपनी जेएस फ़ाइलों को आवश्यक क्रम में लोड कर रहे हैं। (स्क्रिप्ट टैग के रूप में) सूचीबद्ध क्रम इतना की तरह सही (निर्भरता आधारित) क्रम में किया जाना चाहिए:

    <script src="jquery.js"></script> 
    <script src="bootstrap.js"></script> 
    <script src="button_app.js."></script> 
    
  2. आप स्थानीय या दूरदराज के सीएसएस/जे एस फ़ाइलों का उपयोग कर रहे हैं? यदि आप रिमोट का उपयोग कर रहे हैं। जांचें कि उनमें से कोई भी जिथब संदर्भित करता है या नहीं। यदि वे इस तरह दिखते हैं:

    <script src="https://raw.github.com/twitter/bootstrap/master/js/bootstrap-alert.js"></script> 
    

    वे काम नहीं करेंगे। क्रोम एक माइम प्रकार त्रुटि फेंक देगा।

2

मेरे जैसे जावास्क्रिप्ट newbies के लिए:,/मैं डाल आप और कुछ नहीं के साथ एक दृश्य में बटन के साथ वास्तव में क्या लिखा है: आप भी jQuery इससे पहले कि आप को परिभाषित $('#button').click()

संबंधित मुद्दे