ฉันใช้ Twitter Bootstrap และต้องการใช้ "แนะนำอัตโนมัติ" ซึ่งไม่มีใน Bootstrap ในขณะที่ jQuery UI มีวิธีการแนะนำอัตโนมัติของตัวเอง
ฉันสามารถใช้ทั้งสองอย่างได้หรือไม่? แบนด์วิธมันจะเกินไหม
ฉันใช้ Twitter Bootstrap และต้องการใช้ "แนะนำอัตโนมัติ" ซึ่งไม่มีใน Bootstrap ในขณะที่ jQuery UI มีวิธีการแนะนำอัตโนมัติของตัวเอง
ฉันสามารถใช้ทั้งสองอย่างได้หรือไม่? แบนด์วิธมันจะเกินไหม
คำตอบ:
ตรวจสอบjQuery-UI-บูต จาก README:
Bootstrap ของ Twitter เป็นหนึ่งในโครงการโปรดของฉันที่จะออกมาในปี 2554 แต่การใช้งานเป็นประจำทำให้ฉันต้องการสองสิ่ง:
ความสามารถในการทำงานแบบเคียงข้างกันกับ jQuery UI (สิ่งที่ทำให้วิดเจ็ตจำนวนมากแตกภาพ) ความสามารถในการจัดธีมวิดเจ็ต jQuery UI โดยใช้สไตล์ Bootstrap ในขณะที่ฉันชอบ jQuery UI แต่ฉัน (เหมือนคนอื่น ๆ ) พบว่าธีมปัจจุบันบางส่วนดูล้าสมัยไปหน่อย ความหวังของฉันคือธีมนี้เป็นทางเลือกที่ดีสำหรับคนอื่นที่รู้สึกเหมือนกัน เพื่อความชัดเจนโครงการนี้ไม่ได้มุ่งหวังหรือตั้งใจที่จะแทนที่ Twitter Bootstrap เป็นเพียงชุดรูปแบบที่เข้ากันได้กับ jQuery UI ที่ได้รับแรงบันดาลใจจากการออกแบบของ Bootstrap นอกจากนี้ยังมี Bootstrap CSS เวอร์ชันที่มีบางส่วน (เล็กน้อย) ที่แสดงความคิดเห็นซึ่งทำให้ธีมสามารถทำงานร่วมกันได้
เพียงแค่อัปเดตสิ่งนี้ bootstrap v2 จะไม่ขัดแย้งกับ jquery ui อีกต่อไป
https://github.com/twbs/bootstrap/issues/171
แก้ไข : เนื่องจาก @Freshblood มีบางสิ่งที่ยังขัดแย้งกัน อย่างไรก็ตามตามที่โพสต์ครั้งแรก Twitter แสดงให้เห็นว่าพวกเขากำลังทำงานอยู่และส่วนใหญ่ใช้งานได้ดีเมื่อเทียบกับ v1
button()
วิธีการ
สำหรับการอ้างอิงในอนาคต (เนื่องจากนี่คือ ATM คำตอบอันดับต้น ๆ ของ Google) เพื่อป้องกันไม่ให้ jQuery UI ลบล้าง bootstrap หรือสไตล์ที่คุณกำหนดเองคุณต้องสร้างการดาวน์โหลดที่กำหนดเองและเลือก no-theme
ธีม ซึ่งจะรวมเฉพาะการรีเซ็ตของ jQuery UI เท่านั้นและไม่ใช้สไตล์ bootstrap มากเกินไปสำหรับองค์ประกอบต่างๆ
ในขณะที่เรากำลังดำเนินการอยู่ส่วนประกอบ jQuery UI บางตัว (เช่น datepicker) มีการใช้งาน bootstrap แบบเนทีฟ การใช้งาน bootstrap แบบเนทีฟจะใช้คลาส bootstrap css แอตทริบิวต์และเลย์เอาต์ดังนั้นควรมีการผสานรวมที่ดีกว่ากับส่วนที่เหลือของเฟรมเวิร์ก
จากประสบการณ์ที่ จำกัด ของฉันฉันก็เจอปัญหาเช่นกัน ดูเหมือนว่าองค์ประกอบ JQuery (เช่นปุ่ม) สามารถจัดสไตล์ได้โดยใช้ bootstrap CSS อย่างไรก็ตามฉันกำลังประสบปัญหาในการสร้างแท็บ UI ของ JQuery และต้องการล็อกอินพุตเฉพาะบูตสแตรป (โดยใช้คลาสอินพุตต่อท้าย) ที่ด้านล่างของแต่ละแท็บโดยเฉพาะแท็บแรกเท่านั้นที่อยู่อย่างถูกต้อง ดังนั้นแท็บ JQuery + ปุ่ม Bootstrap = อาจไม่ใช่
Bootstrap ยังคงใช้ไม่ได้กับ Jquery UI เช่นโมดอล Bootstrap มีสไตล์ที่ดี แต่เป็นเฟรมเวิร์กที่มี Twitter อยู่เบื้องหลังนั้นไม่ดี
หากคุณกำลังพบกับการชนกันของเนมสเปซ javascript คุณสามารถใช้noConflict()
ฟังก์ชันของ Bootstrap เพื่อยกระดับฟังก์ชันให้กับ jQuery UI
แม้ว่าคำถามนี้จะกล่าวถึงคุณลักษณะการแนะนำอัตโนมัติ jQuery-UI โดยเฉพาะ แต่ชื่อคำถามนั้นกว้างกว่า: bootstrap 3 ทำงานร่วมกับ jQuery UI ได้หรือไม่ ฉันมีปัญหากับคุณสมบัติ jQUI datepicker (ปฏิทินป๊อปอัพ) ฉันแก้ปัญหา datepicker และหวังว่าวิธีแก้ปัญหาจะช่วยแก้ปัญหา jQUI / BS อื่น ๆ
วันนี้ฉันมีช่วงเวลาที่ยากลำบากในการรับ jQueryUI (เวอร์ชัน 1.12.1) ล่าสุดเพื่อทำงานกับ bootstrap 3.3.7 สิ่งที่เกิดขึ้นคือปฏิทินจะแสดง แต่จะไม่ปิด
กลายเป็นปัญหาเวอร์ชันกับ jQUI และ BS ฉันใช้ Bootstrap เวอร์ชันล่าสุดและพบว่าฉันต้องดาวน์เกรดเป็น jQUI และ jQuery เวอร์ชันเหล่านี้:
jQueryUI - 1.9.2 (ทดสอบ - ใช้งานได้)
jQuery - 1.9.1 หรือ 2.1.4 (ทดสอบแล้ว - ทั้งสองทำงาน Vers อื่น ๆ อาจใช้งานได้ แต่ใช้งานได้)
Bootstrap 3.3.7 (ทดสอบแล้ว - ใช้งานได้)
เนื่องจากฉันต้องการใช้ธีมที่กำหนดเองฉันจึงสร้างการดาวน์โหลด jQUI แบบกำหนดเอง (ลบบางอย่างเช่นการโต้ตอบกล่องโต้ตอบแถบความคืบหน้าและเอฟเฟกต์บางอย่างที่ฉันไม่ได้ใช้) และเลือก "คูเปอร์ติโน" ที่ด้านล่างเป็นธีมของฉัน
ฉันติดตั้งดังนั้น:
<head>
...etc...
<link rel="stylesheet" href="css/font-awesome.min.css">
<link rel="stylesheet" href="css/cupertino/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="css/bootstrap-3.3.7.min.css">
<!-- <script src="js/jquery-1.9.1.min.js"></script> -->
<script src="js/jquery-2.1.4.min.js"></script>
<script src="js/jquery-ui-1.9.2.custom.min.js"></script>
<script src="js/bootstrap-3.3.7.min.js"></script>
...etc...
</head>
สำหรับผู้ที่สนใจโฟลเดอร์ CSS จะมีลักษณะดังนี้:
[css]
- bootstrap-3.3.7.min.css
- font-awesome.min.css
- style.css
- [cupertino]
- jquery-ui-1.9.2.custom.min.css
[images]
- ui-bg_diagonals-thick_90_eeeeee_40x40.png
- ui-bg_glass_100_e4f1fb_1x400.png
- ui-bg_glass_50_3baae3_1x400.png
- ui-bg_glass_80_d7ebf9_1x400.png
- ui-bg_highlight-hard_100_f2f5f7_1x100.png
- etc (8 more files that were in the downloaded jQUI zip file)
หากไม่ได้จัดเก็บไว้ในเครื่องและใช้ลิงก์ที่มีให้คุณอาจมีการปรับปรุงประสิทธิภาพไคลเอนต์อาจมีสคริปต์ที่แคชไว้แล้วในบางกรณี สำหรับกรณีของ jQueryUI ฉันไม่แนะนำให้โหลดจนกว่าจะจำเป็น ทั้งคู่ถูกย่อให้เล็กที่สุด แต่คุณสามารถเปิดคอนโซลและดูที่แท็บเครือข่ายและดูว่าต้องใช้เวลานานแค่ไหนในการโหลดเมื่อดาวน์โหลดครั้งแรกระบบจะแคชดังนั้นคุณไม่ควรกังวลในภายหลังข้อสรุปของฉันคือ ใช่ใช้ทั้งคู่ แต่ใช้ CDN
ใช่คุณสามารถใช้ได้ทั้งสองอย่าง js bootstrap จาก twitter เป็นชุดปลั๊กอิน jquery shohuld ไม่มีความขัดแย้งใด ๆ กับ jQuery UI
เกี่ยวกับการโอเวอร์โหลดแบนด์วิดท์นั้นขึ้นอยู่กับว่าคุณจัดการกับคำขอโหลดไฟล์ js ทั้งหมดของคุณอย่างไร หากคุณไม่ต้องการส่งคำขอหลายรายการไปยังเซิร์ฟเวอร์เพื่อขอไฟล์แต่ละไฟล์เพียงแค่ต่อท้ายเข้าด้วยกันและย่อให้เล็กสุด หรือคุณอาจกำจัดปลั๊กอิน bootstrap js บางตัวที่คุณไม่ต้องการได้ มันเป็นแบบแยกส่วนมาก
!important
ที่ฉันพบว่าตัวเองต้องลบล้างและแก้ไขอยู่ตลอดเวลาบางครั้งก็ใช้รหัสแฮ็ก ฉันเกลียด Bootstrap และไม่สนับสนุนการใช้งานอย่างน้อยก็จนกว่ามันจะหยุดยุ่งกับองค์ประกอบที่ไม่ใช้คลาสของ Bootstrap (นี่ไม่ใช่ความผิดของนักออกแบบต้นฉบับ - ฉันสงสัยว่านักพัฒนาดั้งเดิมของ Twitter คาดหวังว่าพวกเขากำลังทำอะไรเพื่อให้กลายเป็นห้องสมุดยอดนิยม)
Kendo UI มีธีม bootstrap ที่ดีที่นี่และชุด UI ของเว็บที่เทียบได้กับ jquery-UI นอกจากนี้ยังมีเวอร์ชันโอเพนซอร์สที่ใช้งานได้ดีกับธีม
ฉันมีไซต์ที่พัฒนาโดยใช้ jquery ui ฉันเพิ่งลองเสียบ bootstrap สำหรับการพัฒนาและการจัดแต่งทรงผมในอนาคต แต่มันแทบจะทุกอย่าง
จึงไม่เข้ากันไม่ได้
เพราะนี่คือผลการค้นหาอันดับต้น ๆ ใน google บนjquery ui และ bootstrap.jsฉันจึงตัดสินใจเพิ่มสิ่งนี้เป็นวิกิชุมชน
ฉันใช้:
และเมื่อฉันรวม bootstrap.js มันจะปิดใช้งานดรอปดาวน์ของการเติมข้อความอัตโนมัติ jquery uiการเติมข้อความอัตโนมัติ
วิธีแก้ปัญหาสามประการของฉัน:
data-role = "none" คือกุญแจสำคัญที่จะทำให้มันทำงานร่วมกันได้ คุณสามารถนำไปใช้กับองค์ประกอบที่คุณต้องการให้ bootstrap สัมผัสได้ แต่ jquery mobile จะเพิกเฉย เช่นประเภทอินพุตนี้ = "text" class = "form-control" placeholder = "Search" data-role = "none"