datepicker衝突

来源:http://www.cnblogs.com/neuscx/archive/2016/12/15/6183896.html
-Advertisement-
Play Games

公司里的項目由於發展較快,很多東西都沒有好好梳理一下,以至於有很多的潛在的問題。 最近就遇到了一個比較坑的問題。datepicker 有兩個插件庫中的datepicker插件比較有名。一個是jQuery-UI,一個是bootstrap。兩個的api網址分別是 然而在項目中很不巧的兩個庫都用到了。然後 ...


公司里的項目由於發展較快,很多東西都沒有好好梳理一下,以至於有很多的潛在的問題。

最近就遇到了一個比較坑的問題。datepicker


 有兩個插件庫中的datepicker插件比較有名。一個是jQuery-UI,一個是bootstrap。兩個的api網址分別是

然而在項目中很不巧的兩個庫都用到了。然後就出現了以下情況:http://jqueryui.com/datepicker/   和  http://bootstrap-datepicker.readthedocs.io/en/latest/index.html

平時根本不知道我自己用的到底是哪個組件。

主要的問題是,要是你們兩個組件能一樣的話,我也就沒什麼問題了。兩個組件在各種細節處完全不同。

這次的問題是 我的datepicker框被遮住了,具體如下圖(上面的年份切換不見了):

         

      這是錯誤的情況                                      這是正常的情況

找了一下發現是在渲染組件的時候,給自動的加上了z-index:10,然後就被上面fixed的頂部條給遮住了。然而這種情況並不是必現的,在每個人電腦上出現的情況不同,在我看來就是先載入的是誰的組件造成的。(按理來說項目打包後是按照index.html文件中引用的順序排的,應該也是相同的調用順序,但是就是在一部分電腦上會出現順序反過來。有大神能解答麽?)

於是為了確定載入的是哪個,我寫了下麵的代碼進行試驗:

// 初始化日期控制項
var $buyDate = $("input#abc");
var buyDateDatepicker = $buyDate.datepicker({
    language: "zh-CN",
    format: "yyyymm",
    minViewMode: "months",
    autoclose: true,
    onSelect: function() {
        console.log("a");
    },
    onClose: function() {
        console.log("b");
    }
});
$buyDate.on("show", function() {
    $(".datepicker.datepicker-dropdown.dropdown-menu").css("z-index", 1000);
});

這其中大多數都是公用的,其中onSelect、onClose是jQuery-UI的,on綁定的show事件是bootstrap的。

但是跑了一下之後,讓我比較吃驚,一個都沒有執行,全都沒有用。然後靜下來仔細考慮了一下,應該是這樣。

1、先執行的是bootstrap的組件,先渲染了一遍。

2、然後又讓jQuery-UI渲染了一遍,但是並沒有覆蓋之前的組件。

3、再執行了show事件的綁定。然而這個時候被jQuery-UI重新渲染過了,是讀取不到監聽事件的,隨意也失效了。

我估計,在別人的電腦上,情況反了過來,他們先執行的是jQuery-UI的組件就是可以的。


我在網上都沒有查到過其他的人寫過相關的衝突的情況。有沒有人遇到過,提供一下坑。以後避免踩坑。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ▓▓▓▓▓▓ 大致介紹 接下來的這幾個博客是對前面所學知識的一個簡單的應用,來加深理解 ▓▓▓▓▓▓ 單行文本框 只介紹一個簡單的樣式:獲取和失去焦點改變樣式 基本結構: 在CSS中添加一個類為focus的樣式 然後為文本框添加獲取和失去焦點事件 效果: ▓▓▓▓▓▓ 多行文本框應用 1、高度變化 ...
  • 1.原生ajax get請求和post請求區別:黃色小三角 以get請求為例,輸出結果如下: 2.jquery中的ajax 列了常用的6個方法: 3.狀態說明 readystate: 0:請求未初始化,open未調用 1:伺服器連接已建立,open已經調用了 2:請求已接受,也就是接收到頭信息了 3 ...
  • 冒泡排序(Bubble Sort),是一種電腦科學領域的較簡單的排序演算法。 它重覆地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重覆地進行直到沒有再需要交換,也就是說該數列已經排序完成。 這個演算法的名字由來是因為越大的元素會經由交換慢慢“浮”到數列的頂 ...
  • jQuery就是用原生js寫出的框架集(Write less do more ) 1.需要註意的問題?(1).jQuery語法需要重新學習(2).jQuery需要註意版本之間的相容性 (3)不是越新的版本越好(要穩定)(4)jQuery一般有兩個版本(xxx.min.js和xxx.js) 區別就是去 ...
  • 今天做了兩個靜態html頁面,在瀏覽器中測試的時候,發現其中一個html頁面的頂部多出了些許空白,而另一個頁面顯示正常。在瀏覽器中進行了審查對比,發現有空白的那個頁面的head標簽裡面的元素全部跑到了body裡面,而且body中還多出了一個,當把這個東西刪除之後就正常了。然後又在編輯器中,對比了一下 ...
  • 原文地址:https://mobxjs.github.io/mobx/getting-started.html 寫在前面:本人英語水平有限,主要是寫給自己看的,若有哪位同學看到了有問題的地方,請為我指出,非常感謝; mobx是一個比redux更好的狀態管理包,代碼量更少,思路更清晰,沒有像redux ...
  • 最近在自行研究JavaScript以及相關的知識,由於沒有在網上能找到非常細緻的相關知識,所以購買了JavaScript權威指南一書(第六版)。不得不說,人家淘寶團隊真是厲害,厚厚一大本,翻譯的非常不錯,更好的是內容非常詳細。值得有經驗的開發人員觀看。對於這個書的贊美就不說辣麽多了,回到正題。 在之 ...
  • 一、jQuery MobilejQuery Mobile 是jQuery在移動設備上的版本,做為主要針對移動設備的框架來說,它提供一個移動設備平臺統一的介面來相容不同的移動平臺,其特性包括:1.簡單易用2.漸進增強和優雅降級3.Accessibility4.小規模5.主題設置6.跨平臺學習容易,資料... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...