동적 인 레벨과 조건에 따라 체크 가능한 노드가있는 RadTreeView가 있습니다. 일부 레벨에는 점검 가능 노드, 점검 가능 노드 또는 점검 가능 노드가 없을 수 있습니다.Telerik RadTreeView OnClientNodeChecked IE9의 호환성 문제 +
OnClientNodeChecked 이벤트를 사용하여 체크 노드의 ID를 숨겨진 필드에 보관하여 나중에 사용할 수 있도록하고 체크 된 노드 카운터를 업데이트합니다.
이 이벤트는 사용자가 노드 옆에있는 확인란을 클릭 할 때마다 발생합니다. 이제 사용자가 체크 박스를 Shift + 클릭하면 검사 가능한 모든 하위 노드를 선택/선택 해제해야합니다.
여기 트 리뷰 컨트롤입니다 :
<telerik:RadTreeView RenderMode="Lightweight" runat="Server" ID="treeAccounts" EnableDragAndDrop="false" EnableDragAndDropBetweenNodes="false" Skin="Vista" CheckBoxes="True"
OnClientLoad="initializeSelectedNodes" OnClientNodeChecked="treeNodeChecked">
</telerik:RadTreeView>
그리고 여기에 자바 스크립트 함수입니다 : (treeNodeChecked OnClientNodeChecked에서라고합니다)
var tree;
function treeNodeChecked(sender, eventArgs) {
tree = $find("<%= treeAccounts.ClientID %>");
var node = eventArgs.get_node();
//Here I save the ID of the checked node
updateSelectedNodes(node);
if (eventArgs._domEvent.shiftKey || event.shiftKey) {
var children = node.get_allNodes();
var checkedState = node.get_checked();
//If the checked node had children and the shift key was pressed
//when the checkbox was clicked then I check/uncheck its child
//nodes.
for(m in children)
{
var child = children[m];
child.set_checked(checkedState);
//Here I save the ID of the child nodes
updateSelectedNodes(child);
}
}
}
이는 크롬, 파이어 폭스와 IE8-에서 완벽하게 작동, 하지만 그것은 IE9 +에서 작동하지 않습니다. 문제 IE9 + 모두 eventArgs._domEvent.shiftKey 및 event.shiftKey에은 정의을 있다는 것이다.
는 또한 event.keyCode 또는 event.which를 확인하려했지만 이벤트가 키를 누를 때 NOT 때문에 또는를 keyDown, 그들은뿐만 아니라 정의되지 않은이다.
어떻게 IE9 +에서이 작업을 수행 할 수 있습니까? 미리 감사드립니다.