2013-10-15 32 views
0

我正在使用Wijmo SpreadJS。當單元格數據(或電子表格中的任何內容)發生更改時,我需要觸發事件。 From the documentation,我發現這兩個:jQuery處理多個事件不起作用

  • CellChanged - 觸發時在任一單元格數據更改
  • RangeChanged - 當一個單元中的數據被刪除

因此引發的,我需要觸發上是相同的功能事件,但它不工作:

function(){ 
    var spread = $("#ss").wijspread("spread"); 

    spread.bind($.wijmo.wijspread.Events.RangeChanged $.wijmo.wijspread.Events.CellChanged, function (sender, args) { 
     setTimeout(function(){ 
      $.ajax({ 
        /// code here 
        }); 
     },0); 
    }); 
}; 

我得到沒有錯誤,但這兩個事件都沒有觸發。

回答

1

如果這些類型的事件是字符串,你可以這樣做:如果他們不是字符串

spread.bind($.wijmo.wijspread.Events.RangeChanged + ' ' + $.wijmo.wijspread.Events.CellChanged, function (sender, args) { 

,你不能得到一個字符串來表示的情況下,你可能需要做的這個:

function changeHandler(sender, args) { 
    setTimeout(function(){ 
     $.ajax({ 
      /// code here 
     }); 
    },0); 
} 

spread 
    .bind($.wijmo.wijspread.Events.RangeChanged, changeHandler) 
    .bind($.wijmo.wijspread.Events.CellChanged, changeHandler); 
+0

首屆方式工作得很好,我猜的事件類型爲字符串即可。謝謝你的幫助! –

+0

@Jaso P對不起,如果在這裏要求你的幫助,但我真的需要在這裏的手http://stackoverflow.com/questions/19403503/jquery-how-to-split-table-cell-into-a-different-number從行到列的行再一次,我很抱歉評論別人的問題 – Axel

1

$.bind需要一串事件。您試圖通過的參數值:

$.wijmo.wijspread.Events.RangeChanged $.wijmo.wijspread.Events.CellChanged 

是無效的JS語法。

嘗試

function(){ 
    var spread = $("#ss").wijspread("spread"); 
    var myEventHandler = function (sender, args) { 
     // code to handle events 
    } 

    spread.bind($.wijmo.wijspread.Events.RangeChanged, myEventHandler); 
    spread.bind($.wijmo.wijspread.Events.CellChanged, myEventHandler); 
}; 

function(){ 
    var spread = $("#ss").wijspread("spread"); 
    var myEventHandler = function (sender, args) { 
     // code to handle events 
    } 

    var eventsToBind = $.wijmo.wijspread.Events.CellChanged + " " + $.wijmo.wijspread.Events.RangeChanged; 
    spread.bind(eventsToBind, myEventHandler); 
}; 
相關問題