2012-09-18 6 views
0

jqGrid가 길어질 때 편집 가능한 jqGrid의 동작에 문제가 있습니다. 편집 할 수없는 셀을 클릭하고 편집 된 셀을 제출하면 사용자가 그리드의 맨 위로 이동합니다. 무작위로 클릭하면 예기치 않은 결과가 나옵니다. 포커스를 얻는 요소는 "top : -1000000px"로 설정됩니다. 이것에 대한 좋은 resoultion 무엇입니까? 이 요소의 focus 이벤트를 재정의 할 수있는 방법이 있습니까?jqGrid는 페이지 상단의 요소로 포커스를 변경합니다.

<script type="text/javascript"> 
function populateTable(table) { 
    for(i = 0; i < 1000; i++) { 
     table.addRowData(i, {key:'Lorem', value:'Ipsum'}); 
    } 
} 

$(document).ready(function() { 
    $("#grid").jqGrid({ 
     datatype : "local", 
     colNames : ["Key", "Value"], 
     colModel: [ 
     {name:'key', index:'lever', width:500, editable: true}, 
     {name:'value', index:'defaultcpm', width: 100, editable: true}, 
     ], 
     height: 'auto', 
     cellEdit: true, 
     cellSubmit: 'clientArray' 
    }); 
    populateTable($("#grid")); 
}); 
</script> 
</head> 
<body> 
<table id="grid"></table> 
</html> 

편집 : 충분히 구체적이지 않다고 생각합니다. 수정 후 초점 변경을 원하지 않습니다. 다음 코드는이를 수정하지만 포커스가없는 격자 인 HTMLDivElement이 있으면 부작용이 있습니다.

HTMLDivElement.prototype.focus = function() {} 

답변

1

포커스를 설정하려면 colModel의 셀을 편집 할 수 있어야합니다. 또한이 코드를 붙여 넣으십시오.

$("#grid").jqGrid('editCell', 1, 1, true);.

첫 번째 행의 첫 번째 열에 초점을 맞 춥니 다.

+0

내가 원하는 부분이 충분하지 않다고 가정합니다. 어떤 요소에 초점을 맞추기를 원하지 않습니다. – siimsoni

관련 문제