首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以使用JavaScript确定点击了什么内容吗?

我可以使用JavaScript确定点击了什么内容吗?
EN

Stack Overflow用户
提问于 2011-10-27 21:47:20
回答 8查看 135关注 0票数 2

我又一次继承了别人的系统,这有点混乱。我目前正在使用一个旧的ASP.NET (VB) webforms应用程序,它通过服务器将JavaScript吐到客户端-这可不好用!关于应用程序,我可以编辑的内容也受到限制。

我有一个场景,其中我有一个函数,它做了一个简单的练习,但也需要知道单击了什么项来执行该函数,因为该函数可以从系统中的许多位置执行……

假设我有一个像这样的函数。

代码语言:javascript
运行
复制
 function updateMyDiv() {
    $('#div1').hide();
    $('#div2').hide();
    $('#div13').show();
 }

例如,我如何获取被单击以执行此操作的HTML元素的ID?

类似于:

代码语言:javascript
运行
复制
function updateMyDiv() {

    alert(htmlelement.id) // need to raise the ID of what was clicked, 

    $('#div1').hide();
    $('#div2').hide();
    $('#div13').show();
}

如果有必要,我可以对此进行扩展,我需要通过this作为论据吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-10-27 21:50:01

将单击事件与jQuery绑定,然后引用$(this)

代码语言:javascript
运行
复制
$('.myDivClass').live('click', function () {
    updateMyDiv(this);
});

var updateMyDiv = function (that) {
   alert(that.id);

   // save the world
};
票数 1
EN

Stack Overflow用户

发布于 2011-10-27 21:49:22

this关键字引用触发事件的元素。以下任一项:

代码语言:javascript
运行
复制
<element onClick="doSomething(this);">

代码语言:javascript
运行
复制
element.onclick = function() {
    alert(this.id);
}
票数 3
EN

Stack Overflow用户

发布于 2011-10-27 21:50:19

你不需要传递"this",它是自动分配的。你可以这样做:

代码语言:javascript
运行
复制
$('div').click(function(){
  alert($(this).attr('id'));
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7916816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档