简体   繁体   中英

How to get the id of element when right clicked

I like to know how to get the id of li when i right click over this li using javascript or jquery.

<ul>
    <li id="liid" class="collapsable">
        <div class="hitarea collapsable-hitarea">
        </div>
        <span class="folder">Group1.2</span>
    </li>
</ul>

I have the right click function.

$(document).bind("contextmenu", function (e) {
    // code to get the id of current li
});

Can any one help me please.

Use .on('contextmenu', 'li')

$(function() {
    $('ul').on('contextmenu', 'li', function(e) { //Get li under ul and invoke on contextmenu
        e.preventDefault(); //Prevent defaults
        alert(this.id); //alert the id
    });
});

Demo

This uses event delegation on document and only fires if an li is clicked.

$(document)
    .on('contextmenu', 'li', function(e) {
        e.preventDefault();
        console.log(this.id);
    });

Compared to adding a handler on $('ul') or $('li') , this will only bind a single handler.

You can try this

$(function() {
    $('li').on("contextmenu", function (e) {
        alert(this.id);
        e.preventDefault();
    });
}

Demo

You can use this..

If you want open also Context Menu on right click then use below code:

$(function() {
    $('ul li').on('contextmenu', function() {
        alert(this.id);
    });
});

and without Context Menu then use below code:

$(function() {
    $('ul li').on('contextmenu', function(e) {
        e.preventDefault();
        alert(this.id);
    });
});

Happy New year...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM