jQuery Click event doesn't work on mobile


lkw3274

I'm trying to make the following JSFiddle work for tablet/mobile (eg "touch" and "click").

https://jsfiddle.net/lkw274/7zt1zL0g/87/


<div class="user-navigation">
        <a class="mobile-menu-new" href=""><span></span>Menu</a>
</div>

$(document).ready(function() {
$(".user-navigation a.mobile-menu-new").click(function (e) {
      e.preventDefault();
    $(".user-navigation a.mobile-menu-new").toggleClass("current");
    }); 
});

.current { background: #F00;}

Expected behavior: When the Menu is clicked, either by touch or with a mouse click, the background is highlighted red until the class should be deleted when it is clicked again, then the red background is removed and returned to its original state.

Current behavior: The background is highlighted red by touch when "Menu" is clicked on mobile/tablet devices, but when the "Menu" is clicked a second time, the class is not removed.

Can anyone help you understand how to modify this code for tablet/mobile?

I've tried the solution in the StackOverflow link below, but once implemented, it doesn't work when clicked.

Document click functionality for touch devices

Thanks in advance.

L-based

It looks like event delegation is the way to go for this, as the binding seems to fail when the target element is modified.

Please try the following (works on my iPhone/Chrome).

$(document).ready(function() {
    $(".user-navigation").delegate("a.mobile-menu-new", "click", function (e) {
        e.preventDefault();
        $(this).toggleClass("current");
    });
});

Note that .delegatesince you seem to be using jQuery 1.6(as per your fiddle) I've been using otherwise jQuery 1.7+you can, as shown below..on

$(document).ready(function() {
    $(".user-navigation").on("click", "a.mobile-menu-new", function (e) {
        e.preventDefault();
        $(this).toggleClass("current");
    });
});

Related


jQuery click event doesn't seem to work

Akahne Saikyo I'm practicing making a simple calculator using jQuery, and I think the code itself is pretty simple, but no matter what I do, absolutely nothing happens, as if there's no js file linked to beging. Here is the jQuery code: function ud(n){

jQuery .off("click") event doesn't work

basic need help This has been bugging me for hours and still confused as to why it doesn't work... When I use table.off("click");it , it also unbinds the click event of the first child without id=multi. var table = $("table#datatable") var button = $(".generat

jQuery click event doesn't work

mightyspaj3 I have this simple jQuery click event and for some reason it's not working. works, I can use this inside the $(document).ready(function() {});alert; however the actual click event doesn't work. Thanks in advance and please take it easy on me as I d

MathJax doesn't work in Jquery .click event

Glagas Incoming MathJaxJquery .clickevent doesn't work inside but outside that function. Run the code snippet to see the effect. $('#math').click(function(e){ e.preventDefault(); $("#result").html("$$ MathJax inside .click event doesn't work $$"); }); //outsid

click event on jQuery doesn't work

Creep to death I have printed the echo with php of the input element and I need to get the click event id using jquery. Below is the code I am trying to get API.php (Echo elements to index.php using ajax): echo"<input type='submit' id='something' value='accept

JQuery click() event listener doesn't work

it consolidates I'm trying to get a small project going, but I'm stuck at a very annoying thing. $(document).ready(function() { $("#search-button").click(console.log('hello')) }); As you can see, I'm targeting a search button using the id, and search-buttona

jQuery click event doesn't seem to work

Akahne Saikyo I'm practicing making a simple calculator using jQuery, and I think the code itself is pretty simple, but no matter what I do, absolutely nothing happens, as if there's no js file linked to beging. Here is the jQuery code: function ud(n){

jQuery .off("click") event doesn't work

basic need help This has been bugging me for hours and still confused as to why it doesn't work... When I use table.off("click");it , it also unbinds the click event of the first child without id=multi. var table = $("table#datatable") var button = $(".generat

Tag click event doesn't work in mobile

Anilkumar Bathula I have created a google map for the nearby food court . In this markup , the markup is displayed in the browser and can be clicked to provide infowindow data. However, on mobile also the marker is shown and when I click on the marker (click o

click event on jQuery doesn't work

Creep to death I have printed the echo with php of the input element and I need to get the click event id using jquery. Below is the code I am trying to get API.php (reflects elements to index.php using ajax): echo"<input type='submit' id='something' value='ac

MathJax doesn't work in Jquery .click event

Glagas Incoming MathJaxJquery .clickevent doesn't work inside but outside that function. Run the code snippet to see the effect. $('#math').click(function(e){ e.preventDefault(); $("#result").html("$$ MathJax inside .click event doesn't work $$"); }); //outsid

jQuery's click event doesn't work

username I can't find the reason why my code is not working. When I click on the generated element, the alert doesn't fire. Here is a fiddle : http://jsfiddle.net/pZAdP/ and code <button id="addMenuItem">Add Menu Item</button> <div id="content"></div> functio

jQuery's click event doesn't work

Alvin Karimi I wrote this code, I need to use jquery to handle click event, but it doesn't work in any browser, when I click on any element, nothing happens. div has no z-index in CSS; The vulnerability "news" element is dynamically added this is the html code

jQuery code for click event doesn't work

Kleber Mota In my current spring project I have a jsp page with the following: <c:url value="/${command['class'].simpleName}/index" var="index"/> <button type="button" class="btn btn-default action" data-url="${index}">Voltar</button> <c:url value="/${command

jQuery's click event doesn't work

username I can't find the reason why my code is not working. When I click on the generated element, the alert doesn't fire. Here is a fiddle : http://jsfiddle.net/pZAdP/ and code <button id="addMenuItem">Add Menu Item</button> <div id="content"></div> functio

jQuery code for click event doesn't work

Kleber Mota In my current spring project I have a jsp page with the following: <c:url value="/${command['class'].simpleName}/index" var="index"/> <button type="button" class="btn btn-default action" data-url="${index}">Voltar</button> <c:url value="/${command

jQuery function .on() doesn't work with "click" event

ihor I'm using MS Dynamics CRM 2013 and I have the following problem: When I want to add an event handler to the "Documents" button in the navigation pane, The jQuery function .on() does not work with the "click" event. It works fine with "mouseover" or "mouse

Click event by name doesn't work in jQuery

Lockx I'm stuck with a small problem. <a href="#" class="btn btn-small btn-danger" name="ignore" id="45"><i class= "fa fa-close"> </i> Ignore </a> <a title="ignore1" data-original-title="ignore1" id="14" name="ignore1" class="btn btn-small btn-danger" href="#

jQuery code for click event doesn't work

Kleber Mota In my current spring project I have a jsp page with the following: <c:url value="/${command['class'].simpleName}/index" var="index"/> <button type="button" class="btn btn-default action" data-url="${index}">Voltar</button> <c:url value="/${command

jQuery click event doesn't work

mightyspaj3 I have this simple jQuery click event and for some reason it's not working. works, I can use this inside the $(document).ready(function() {});alert; however the actual click event doesn't work. Thanks in advance and please take it easy on me as I d

jQuery Click event doesn't work on mobile

lkw3274 I'm trying to make the following JSFiddle work for tablet/mobile (eg "touch" and "click"). https://jsfiddle.net/lkw274/7zt1zL0g/87/ <div class="user-navigation"> <a class="mobile-menu-new" href=""><span></span>Menu</a> </div> $(document).ready

Click event in jQuery doesn't work

Anna Glam I got a div with default class 'unlock' and a text called 'UNLOCK'. When I click on it, it says "UNLOCK" while removing the "unlock" class and adding the "lock" class. html <div class='unlock'>UNLOCKED</div> this work $('.unlock').click(function(){

jQuery click event doesn't work

mightyspaj3 I have this simple jQuery click event and for some reason it's not working. works, where I can use the alert; but the actual click event doesn't work.$(document).ready(function() {}); Thank you in advance and please take it easy on me as I don't ha

jQuery Click event doesn't work on mobile

lkw3274 I'm trying to make the following JSFiddle work for tablet/mobile (eg "touch" and "click"). https://jsfiddle.net/lkw274/7zt1zL0g/87/ <div class="user-navigation"> <a class="mobile-menu-new" href=""><span></span>Menu</a> </div> $(document).ready

Tag click event doesn't work in mobile

Anilkumar Bathula I have created a google map for the nearby food court . In this markup , the markup is displayed in the browser and can be clicked to provide infowindow data. However, on mobile also the marker is shown and when I click on the marker (click o

jQuery click event doesn't seem to work

Akahne Saikyo I'm practicing making a simple calculator using jQuery, and I think the code itself is pretty simple, but no matter what I do, absolutely nothing happens, as if there's no js file linked to beging. Here is the jQuery code: function ud(n){

jQuery Click event doesn't work on mobile

lkw3274 I'm trying to make the following JSFiddle work for tablet/mobile (eg "touch" and "click"). https://jsfiddle.net/lkw274/7zt1zL0g/87/ <div class="user-navigation"> <a class="mobile-menu-new" href=""><span></span>Menu</a> </div> $(document).ready