Jquery/Javascript目标函数
Jquery/Javascript target in function
我有一个函数,我调用两个图像,像这样。
$('#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
,则不需要这样做。
this
)和触发事件的元素(event.target
)。在您的情况下,假设image1
和image2
是img
元素,它们将是相同的,因为img
不能包含任何其他元素,但在元素可以包含其他元素的情况下(div
, p
等)。例如,大多数元素),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
上钩住了事件,但它是由点击p
触发的。(这是事件委托的基础)
var id = $(this).attr('id');
if (id == 'image1') {
alert('image1');
} else{
alert('image2');
}
使用attr()函数检索元素的ID。此外,我还将通过向两个图像添加一个公共类来进一步简化此操作,以便您可以这样做:
$('.myimages').click(function() {
if($(this).attr() == 'image1') {
alert('image1');
}
else {
alert('image2');
}
});
您可以使用event.target:
function doNext(event){
if($(event.target).attr('id') == 'image1'){
alert('image1');
}else{
alert('image2');
}
}
您可以在事件处理函数中获得event.target
:
function doNext(event) {
var target = event.target;
}
或者,this
将指向被单击的元素:
function doNext() {
var clickedID = this.id;
}
$(document).ready(function() {
$('#image1').click(function(){doNext('image1')});
$('#image2').click(function(){doNext('image2')});
});
doNext = function (target){
if(target == "image1"){
alert('image1');
}else{
alert('image2');
}
}
相关文章:
- 具有可变目标日期的倒计时javascript函数
- 以单个类函数而不是整个类组为目标
- 给定一个带有数字的数组,我如何编写一个递归函数,当 2 个元素加起来为一个目标时,它会在数组中查找索引
- 有没有一种方法可以撤消目标上的函数
- 从嵌套函数中选择事件目标
- 当目标为可下载文件时,当 href 时,Ajax 函数不会在类上触发
- 对于 JQuery 中具有不同事件的多个目标 ID 的相同函数
- 异步函数作为敲除绑定目标
- 如何将回调顺序调用设置为与目标函数调用相同
- 目标类名,但使用唯一ID调用函数
- 访问jquery.load成功函数中的目标元素
- 测量子模板中的目标元素并传递给全局函数
- ajax函数,用于从2个服务器端脚本向2个DOM目标返回值
- 自动增加JS函数参数和目标中附加的类或ID号
- 如何在不同的目标上制作独立的jQuery函数
- 以javascript中函数中参数的前缀为目标
- javascript函数的目标数组
- 当目标在ID内时,通过名称获取元素不工作.getelementsbytagname不是函数错误
- 事件目标匹配,但未调用函数
- 我如何创建一个函数,将目标在一个链接中的某个类,并为该链接生成一个弹出窗口