1. 程式人生 > >bootstrap 的 switch 按鈕初始化問題

bootstrap 的 switch 按鈕初始化問題

問題描述 :

  不管使用標籤 input的 checkbox 生成switch按鈕還是使用 js 的 bootstrapSwitch 函式 , 初始化按鈕狀態始終是關閉的

  (這裡我使用的是 bootstrap-switch.js 版本 v3.3.4)

解決方案 :

 

  跟蹤一下原始碼 , 下面第七行的 prvcontainerPosition.call(_this3); 這句話出現了問題 (原始碼中大概 162 行)

 1   function prvinit() {
 2     var _this3 = this
; 3 4 var init = function init() { 5 _this3.setPrevOptions(); 6 prvwidth.call(_this3); 7 prvcontainerPosition.call(_this3); 8 //... ... 9 }

該方法 prvcontainerPosition 中的 state 獲取結果為 undefined

function prvcontainerPosition() {
    var _this2 = this;
    var
state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.ope; //... ... }

 修改程式碼如下 , 傳遞引數 state 

  function prvinit() {
    var _this3 = this;

    var init = function init() {
      _this3.setPrevOptions();
      prvwidth.call(_this3);
      var state = _this3.prevOptions.state ;
      prvcontainerPosition.call(_this3,state);
     
// ... ... }