Radtreeview Compatibility issues with IE 11

6 posts, 0 answers
  1. Mahadev
    Mahadev avatar
    2 posts
    Member since:
    Mar 2012

    Posted 21 Apr 2015 Link to this post

    There are some compatibility issues which we are facing corresponding to the Radtreeview in IE 11 browser. We are getting a JavaScript error on a particular function which is called on the "OnClientNodeClicking", due to which the page is not rendering in the IE 11 browser. However, the same page is rendering fine without any JavaScript error on IE 8.

    Please provide a solution for this

  2. Ivan Danchev
    Admin
    Ivan Danchev avatar
    1253 posts

    Posted 24 Apr 2015 Link to this post

    Hello,

    We are not aware of such issue in IE11, the event is fired correctly at my side without any js errors. I am attaching a sample project to this reply, could you please try to reproduce the issue in it and post the modifications you have made so we can further investigate what might be causing it?

    The Telerik .dll files are removed from the Bin folder in order not to exceed the maximum allowed attachment size.

    Regards,
    Ivan Danchev
    Telerik
     

    See What's Next in App Development. Register for TelerikNEXT.

     
  3. Gonzalo
    Gonzalo avatar
    5 posts
    Member since:
    Apr 2017

    Posted 20 Apr Link to this post

    Hi, I have a similar compatibility issue.

    In the OnClientNodeChecked event I want to know if the user clicked or shift + clicked when checking a checkbox. For that I can use event.shifKey. It works correctly in Chrome, Firefox and IE8 but in IE9+ event.shiftKey is undefined.

    How cna this be solved?

     

  4. Ivan Danchev
    Admin
    Ivan Danchev avatar
    1253 posts

    Posted 25 Apr Link to this post

    Hello Gonzalo,

    You can give the following workaround a try:
    var shiftIsPressed = false;
     
    $('.RadTreeView .rtChk').mousedown(function (event) {
        if (event.shiftKey == true) {
            shiftIsPressed = true;
        }
    });
     
    function OnClientNodeChecked(sender, args) {
        if (shiftIsPressed) {
            //...
            debugger;
            shiftIsPressed = false;
        }
        else {
            debugger;
            //...
        }
    }

    It sets a flag (shiftIsPressed) in the mousedown event handler of the checkboxes, then in the OnClientNodeChecked handler you can check the flag's value which will indicate whether Shift has been pressed or not.

    Regards,
    Ivan Danchev
    Telerik by Progress
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
  5. Gonzalo
    Gonzalo avatar
    5 posts
    Member since:
    Apr 2017

    Posted 25 Apr Link to this post

    Hi Ivan, actually I've already tried a similar workaround and for now it's working fine:

    var shiftKeyPressed;
     
    document.addEventListener("keydown", keyDownEvent, false);
     
    function keyDownEvent(e) {
        var keyCode = e.keyCode;
        if(keyCode==16) {
            shiftKeyPressed = true;
        }
    }
     
    document.addEventListener("keyup", keyUpEvent, false);
     
    function keyUpEvent(e) {
        var keyCode = e.keyCode;
        if(keyCode==16) {
            shiftKeyPressed = false;
        }
    }

     

    It sets a variable shiftKeyPressed to true/false everytime the shift key is pressed.

    Thanks for taking the time to answer my question!

  6. Ivan Danchev
    Admin
    Ivan Danchev avatar
    1253 posts

    Posted 28 Apr Link to this post

    Hello Gonzalo,

    Thank you for getting back to us.  I'm glad you found an approach for detecting the pressed Shift key.

    Regards,
    Ivan Danchev
    Telerik by Progress
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
Back to Top