gpt4 book ai didi

javascript - 函数中的 Jquery/Javascript 目标

转载 作者:行者123 更新时间:2023-11-30 13:31:26 24 4
gpt4 key购买 nike

我有一个函数,我用两张这样的图片调用。

$('#image1').bind('click',doNext);
$('#image2').bind('click',doNext);

我需要能够分辨出哪个函数调用了函数。

function doNext(){
if(target == $('#image1'){
alert('image1');
}else{
alert('image2');
}
}

最佳答案

doNext 中的

this 将是原始 DOM 元素,因此:

function doNext() {
if (this.id === "image1") {
alert('image1');
}else{
alert('image2');
}
}

我在 id 上进行分支,因为您在代码中专门这样做了,但通常您只是与对象交互。

如果您需要使用任何 jQuery 函数,请将原始 DOM 元素包装在一个 jQuery 对象中 (var $this = $(this);),但您不需要这样做想要做的就是像我上面那样查看 id

在 jQuery 事件处理程序中,有(至少)两个您可以访问的重要 DOM 元素:您 Hook 事件的元素 (this),以及 触发的元素 事件 (event.target)。在您的情况下,假设 image1image2img 元素,它们将是相同的,因为 img 可以'包含任何其他元素,但对于可以包含其他元素的元素(divp 等——例如,大多数元素),event .target 可能与 this 不同。假设你有:

<div id="foo">
<p>Blah blah blah</p>
</div>

还有这个

$("#foo").click(function(event) {
alert(this.tagName);
alert(event.target.tagName);
});

如果你点击段落,你会得到

DIVP

...因为您在 div 上 Hook 了事件,但它是由点击 p 触发的。 (这是事件委托(delegate)的基础。)

关于javascript - 函数中的 Jquery/Javascript 目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6641203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com