Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I apply jquery for mobile only?

Tags:

jquery

mobile

I need to apply the following jquery for mobile browsers only:

<script>
   $('.right').insertBefore('left');
</script>

This is to reorder the position of bootstrap columns.

How do I do this? Does it need to be wrapped in something?

like image 745
Tristan Avatar asked Jun 15 '16 09:06

Tristan


2 Answers

It's always very hard to detect whether its a mobile device's browser or a laptop with a touch screen. So instead of detecting that; if you are concern about the screen size then i will recommend you to detect the screen size and if its below certain level(lets say below 481px) then we will assume that its a mobile screen and will execute your needed code as follows:

$(document).ready(function () {
    $(window).on("resize", function (e) {
        checkScreenSize();
    });

    checkScreenSize();
    
    function checkScreenSize(){
        var newWindowWidth = $(window).width();
        if (newWindowWidth < 481) {
            $('.right').insertBefore('.left');
        }
        else
        {
            $('.left').insertBefore('.right');
        }
    }
});
like image 53
vijayP Avatar answered Oct 19 '22 19:10

vijayP


To write jQuery that only applies for mobile devices, just use the sample below and it worked for me.

if(window.outerWidth < 425) {
  alert('your jquery code here - it fires for mobile device only');
}

Edit: Was the wrong symbol less than

like image 6
dxpkumar Avatar answered Oct 19 '22 19:10

dxpkumar