如何在右键单击时获得元素的id

时间:2022-11-27 11:47:12

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

我想知道当我使用javascript或jquery右键单击这个li时,如何获得li的id。

<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.

谁能帮我一个忙吗?

4 个解决方案

#1


6  

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

演示

#2


3  

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

这将在文档上使用事件委托,并且只在单击li时触发。

$(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.

与在$('ul')或$('li')上添加处理程序相比,这只绑定一个处理程序。

#3


1  

You can try this

你可以试试这个

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

Demo

演示

#4


0  

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...

新年快乐……

#1


6  

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

演示

#2


3  

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

这将在文档上使用事件委托,并且只在单击li时触发。

$(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.

与在$('ul')或$('li')上添加处理程序相比,这只绑定一个处理程序。

#3


1  

You can try this

你可以试试这个

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

Demo

演示

#4


0  

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...

新年快乐……