javascript - 以编程方式触发 Kendo Chart.seriesClick 事件

标签 javascript jquery angularjs kendo-ui angular-kendo

这是一个非常小而简单的问题。在网上查找时我找不到任何东西,但我希望能够对我们的剑道图表进行单元测试,特别是 seriesClick 事件按预期工作。问题是我似乎找不到触发该事件的方法。我试图通过 jQuery 定位图表系列并调用 .click()。尝试这种方法没有给我带来任何好处,所以在绝望的时刻我尝试点击所有内容

$('*').each(function(){
    $(this).click();
});

没有这样的运气。这是图表选项片段

$scope.chartOptions = {
                //...
                // On Click add the criteria to the serach bar.
                seriesClick: function (series) {
                        console.log("seriesClick");
                        //Do stuff here                            
                        $scope.$apply();
                    }
                }
            };

当我尝试在单元测试中运行上述 jQuery 代码时,我没有得到控制台输出。在这里。

xit('should update the searchbar when a series item has been clicked', inject(function ($compile, $rootScope, $timeout) {
        var scope = $rootScope.$new();
        //Write out the directive
        //We have a directive that will replace this tag with the kendo-chart directive
        var ele = $compile('<chart></chart>')(scope); 
        angular.element(document.body).append(ele);
        scope.$digest();
        $timeout.flush(0);
        scope = ele.isolateScope();

        console.log('clicking everything');
        $('*').each(function () {
            $(this).click();
        });

我已经向 telerik 论坛提交了同样的问题,希望从“专家”那里得到一些建议,但我没有得到像 SO 一样快的回复。

编辑 我确实遇到过这个post在 Telerik 论坛中,我希望我需要做的不是“目前不支持开箱即用”。

最佳答案

询问 telerik forums 后我终于得出了这个答案

 element.mousedown().mouseup()    //Trigger events for Chrome, Firefox and IE9
            .trigger(jQuery.Event("MSPointerDown", { originalEvent: {} })).trigger(jQuery.Event("MSPointerUp", { originalEvent: {} }))  //Trigger event for IE10
            .trigger(jQuery.Event("pointerdown", { originalEvent: {} })).trigger(jQuery.Event("pointerup", { originalEvent: {} })); //Trigger event for IE11

显然它监听 mousedown() mouseup() 事件。然后在看到它不适用于 IE10 和 11 后,我需要使用另一种方式来触发 mousedown()/mouseup()

关于javascript - 以编程方式触发 Kendo Chart.seriesClick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23410056/

相关文章:

javascript - 如果从 <ul> 或 <ol> 扩展, 'extends' 选项是否允许我直接将 <li> 元素添加到自定义元素?

javascript - 以编程方式在指令中添加指令

css - tbody 边框呈现问题

javascript - 如何在应用程序中注入(inject)/加载 Angular 指令

jquery - 谷歌翻译小部件移动溢出

javascript - react 网格布局

javascript - 如何在javascript中不匹配某个正则表达式?

javascript - Javascript 中 SetTimeout 期间的用户交互冲突

Jquery 表单验证 - 使用 if 语句进行验证?

javascript - 为什么它在我的 if/else 语句中循环遍历 'else'?