2

Backbone.jsビューの一部としてjqplotチャートがあります。グラフとそのデータはすべて正常に読み込まれますが、マウスの強調表示とグラフのクリックは登録されていないようです。jqplotの例では正常に機能します。Backbone.jsフレームワークに追加した場合にのみ、機能しなくなります。

「jqplotDataHighlight」と「jqplotClick」を使用してみましたが、どちらもイベントをトリガーしませんが、「jqplotDataUnhighlight」は正常に機能します。一方が機能し、もう一方が機能しない理由がわかりません。

//part of Backbone.js View....
        var l2 = [11, 9, 5, 12, 14];    
        var l3 = [4, 8, 5, 3, 6];    
        var l4 = [12, 6, 13, 11, 2]; 

        //this event never triggers
        this.$('#plot3').bind('jqplotDataHighlight',         
           function (ev, seriesIndex, pointIndex, data) { 
               alert('highlight');           
               $('#info1b').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data);        
           }); 

           //unhighlight event work just as expected  
        this.$('#plot3').bind('jqplotDataUnhighlight',         
               function (ev) {
                    alert("this worked: unhighlight")            
                    $('#info1b').html('Nothing');        
        });

        //chart load fine, showing all data             
        this.$('#plot3').jqplot([l2, l3, l4],{       
              stackSeries: true,       
              showMarker: false,       
              seriesDefaults: {           
                  fill: true       
              },       
              axes: {           
                 xaxis: {               
                      renderer: $.jqplot.CategoryAxisRenderer,               
                      ticks: ["Mon", "Tue", "Wed", "Thr", "Fri"]           
                 }       
              }    
          });
    });
4

1 に答える 1

2

何時間もデバッグした後、私は自分の質問に答えます。これは、私のように間違いを犯す貧しい愚か者を助けてくれることを願っています。

テスト中に、すべてのjqplotプラグインを追加しましたが、モバイルプラグインが、問題の原因となっているonClichなどの主要なjqplotイベントハンドラーの一部をオーバーライドすることがようやくわかりました。モバイルプラグを外すと、すべてが魅力のように機能しました。

于 2012-12-15T00:58:48.573 に答える