Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery处理多个不工作的事件_Javascript_Jquery - Fatal编程技术网

Javascript jQuery处理多个不工作的事件

Javascript jQuery处理多个不工作的事件,javascript,jquery,Javascript,Jquery,我正在使用Wijmo SpreadJS。当单元格数据(或电子表格中的任何内容)更改时,我需要触发事件。我发现这两个: CellChanged—当任何单元格中的数据更改时触发 RangeChanged-删除单元格数据时触发 因此,我需要为两个事件触发相同的函数,但它不起作用: function (){ var spread = $("#ss").wijspread("spread"); spread.bind($.wijmo.wijspread.Events.RangeCha

我正在使用Wijmo SpreadJS。当单元格数据(或电子表格中的任何内容)更改时,我需要触发事件。我发现这两个:

  • 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);
    });
};

我没有收到任何错误,但这两个事件均未触发。

如果这些事件的类型是字符串,则可以执行以下操作:

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);
需要一系列事件。您试图传递的参数值:

$.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);
};