瀏覽器中經常使用bootstrap和jquery ui進行前端頁面的開發,但在使用中發現兩者會出現沖突的情況。原因是兩者在實現某些功能時,使用了相同的類或方法,導致在加載頁面時會出現無法預料的錯誤。
一個常見的沖突是日期選擇器。Bootstrap中有自己的日期選擇器,而Jquery UI中也有相應的日期選擇器。如果同時引用兩者庫的話,就會出現沖突。比如,在實現日期選擇器的時候,當引用了jquery ui庫后,js代碼就無法正確的調用bootstrap自帶的datepicker方法了。
$(function(){ $('#date-picker').datepicker(); //會出現錯誤 });
解決方法有兩種:
1. 選擇使用其中一個庫進行開發,把另一個庫去掉,這樣就不會出現沖突。
2. 在使用兩者庫的時候,需注意使用noConflict()方法。該方法可以防止兩者庫中相同的方法或變量沖突。但是需要注意的是,需要在引用jQuery庫文件之后,引用jquery ui文件,并在選定jQuery對象的時候,加入noConflict()的標記。
簡單總結 bootstrap和jquery ui沖突,主要原因是在實現某些相同的功能時使用了相同的類或方法,解決方法有兩種,選擇使用其中一個庫進行開發,把另一個庫去掉,或者使用noConflict()方法來防止沖突。