2013-03-25 50 views
0

我一直尝试将一些复选框添加到extenddatatable。 所以我需要在点击复选框时模拟点击表格行。模拟ctrl点击Richfaces3.3 rich:extendedDataTable

我试着使用:

var e = jQuery.Event("click"); 
      e.ctrlKey = true; 
      jQuery(rowToClick).trigger(e); 

但它只是从来没有工作。 我试图从rich:extendedDataTable中获取onRowClick事件,event.ctrlKey始终为“false”。

<rich:extendedDataTable onRowClick="rowBeenclick(event);" ..../> 

function rowBeenclick(e){ 
    debugger; 
alert(e.ctrlKey); 
} 

对此有何想法或建议?

+0

P.S.它适用于我们为Richfaces4.x,但为此我需要在RF3.3 – 2013-03-25 09:07:38

+0

我只是找出我的自我! 分享此:(太长,所以我切下2后IE /人) //不要单击CTRL 功能fireEvent(OBJ,EVT){ VAR fireOnThis = OBJ; if(document.createEvent){//对于firefox或其他 var evObj = document.createEvent('MouseEvents'); evObj.initMouseEvent(“click”,true,true,window,1,0,0,0,0, true,false,false,false,0,null); fireOnThis.dispatchEvent(evObj); } } – 2013-03-26 04:30:54

+0

//不要单击CTRL 函数fireEvent(OBJ,EVT){ 变种fireOnThis = OBJ; if(document.createEventObject){//对于IE var evObj = document.createEventObject(); evObj.ctrlKey = true; fireOnThis.fireEvent('onclick',evObj); } } – 2013-03-26 04:32:33

回答

0

我只是找出我的自我!在这里分享:(太长,所以我削减到两个后IE /其他)

//Do ctrl click 
function fireEvent(obj,evt){ 
var fireOnThis = obj; 
if(document.createEvent) { 
//For firefox or else 
var evObj = document.createEvent('MouseEvents'); 
evObj.initMouseEvent("click", true, true, window, 1, 0, 0, 0, 0, true, false, false,   false, 0, null); 
fireOnThis.dispatchEvent(evObj); } 
} 
//Do ctrl click 
function fireEvent(obj,evt){ 
var fireOnThis = obj; 
if(document.createEventObject) { 
//For IE 
var evObj = document.createEventObject(); evObj.ctrlKey=true; fireOnThis.fireEvent('onclick', evObj); } 
}