当前位置: 首页 > 面试题库 >

如何获得onclick调用对象?

宦砚
2023-03-14
问题内容

我需要在onclick事件的调用对象上有一个处理程序

<a href="123.com" onclick="click123(event);">link</a>
<script>
function click123(event)
{
//i need <a> so i can manipulate it with Jquery 
}
</script>

我想在不使用jquery的$()。click或$()。live的情况下执行此操作,但要使用上述方法。


问题答案:

传递this内联点击处理程序

<a href="123.com" onclick="click123(this);">link</a>

event.target在函数中使用根据[W3C DOM 2级事件模型

function click123(event)
{
    var a = event.target;
}

但是,当然,IE是不同的,因此处理此问题的原始JavaScript方法是

function doSomething(e) {
    var targ;
    if (!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;
}

或更详细

function doSomething(e) {

    e = e || window.event;
    var targ = e.target || e.srcElement || e;
    if (targ.nodeType == 3) targ = targ.parentNode; // defeat Safari bug
}

其中eevent object被传递到在比IE其他浏览器的功能。

如果您使用的是jQuery,则我强烈建议您使用不引人注目的JavaScript,并使用jQuery将事件处理程序绑定到元素。



 类似资料:
  • 问题内容: 我有一个链接,链接到domain.com,当一个人单击时,我希望它对counter.php进行ajax调用并向其中发布2个变量,因此它可以为该链接的视图添加1个。 我有一个链接: 我将如何使用jquery? 编辑: 我尝试过这样的事情 它似乎可以正常工作,但是在萤火虫中,请求永远不会完成……它只是在执行“正在运行”动画。counter.php完成后会回显一些文本(不需要在任何地方显示)

  • 我有一个短信api在PHP,我打电话发送短信。我通过一些json和一个url回调来获得响应状态,短信被发送。 之后服务器调用我的回调url,但我不能得到响应体。$_GET和$_POST是空的...留档不存在。它应该有一些json。有人能帮帮我吗?提前感谢

  • 我在做一个数独游戏,我有“cell”类型的9x9对象(类扩展了JTextField),我想防止在用户不符合游戏规则的情况下关注其他JTextField对象——他的输入(1-9)不会在同一行或同一个“块”。要做到这一点,我需要知道他关注的具体对象。 我正在考虑这样做的一种方法是使用DocumentFilter。我已经将输入过滤为数字和1长度,但我不知道如何获取他关注的“单元格”对象,我很确定Docu

  • 问题内容: 是否有任何内置函数可以返回对象的长度? 例如,我有哪个应该返回。如果我使用它返回。 它可能是一个简单的循环函数,但我想知道是否有内置函数? 问题答案: 对于支持Object.keys()的浏览器,您可以执行以下操作: 否则(特别是在IE <9中),您可以使用循环自己遍历对象: 该是有确保你只从字面对象计数的属性,而不是从它的原型属性是“继承”。

  • 我知道如何在不使用parsejson的情况下使用reverfit和迭代数组来获取对象,但我不能这样做,因为这部分是用reverfit和gson自动完成的。 我在这个问题上已经困了一段时间了,如果你能给我指点,我会非常感激的。 更新:

  • 我试图获得对创建java的GoogleMap对象的引用,但我不知道如何获得这个引用。