2012-09-02 80 views
0

我試圖發送一個mousedown事件作爲點擊谷歌圖表,雖然已經打到路障,並不知道爲什麼即時通訊得到以下錯誤。註冊mousedown事件點擊谷歌圖表

我正在使用jQuery和谷歌圖表api,visualisationOverlay是絕對定位div在圖表頂部,錯誤是當dispatchEvent發送修改後的事件到谷歌圖表iframe時。

$('#visualizationOverlay').live('mousedown',function(e){ 
    e.type = "click"; 
    vis = document.getElementById($('#visualization').find('iframe').attr('id')); 
    console.log(vis); 
    vis.dispatchEvent(e); 
}); 

我碰到下面的錯誤在Firefox

NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMEventTarget.dispatchEvent] 

我要去哪裏錯將高度讚賞任何提示!

回答

0

您無法觸發被觸發到另一個元素的事件。您需要創建一個新事件或者只需使用jQuerys trigger

看看這個example。按第一個元素點擊第二個日誌按預期發生錯誤。

$('#id1').on('mousedown', function(e){ 
    e.type = 'click'; 
    $('#id2').get(0).dispatchEvent(e); 
}); 

$('#id2').on('mousedown', function(e){ 
    $('#id1').trigger('click') 
}); 

$('#id1').on('mousedown', function(e){ 
    console.log('mousedown'); 
}); 

$('#id2').on('click', function(e){ 
    console.log('click'); 
}); 
+0

感謝你用這個例子來解釋它! –