Jquery,在容器元素上使用on click事件设置元素的值

时间:2014-09-05 10:44:25

标签: jquery function events click fancybox

这是我的问题,

我正在使用jquery FancyBox,我想设置一个输入的值(进入我的盒子),点击该元素的id!

但是,我的元素是这样的:

<a... ID="xxxx">
    <i/> <i/>
</a>

我的标签是我的容器,它包含2张小图片...(字体很棒)这些小图片没有ID!所以, 如果我点击我的容器上的某个地方,我得到我想要的价值...但如果我点击其中一个图像,event.target.id是空的,因为它使用图像ID而不是容器ID ...

这是“调用者元素”的代码:

<a class="btn btn-info add" href="#addNewPopup" title="Add Data" id="addData'.$g["id"].'User'.$u["id"].'">
    <i class="fa fa-plus"></i> 
    <i class="fa fa-phone"></i>
</a>

这是我用来检查我的系统的js代码(#hiddenInput是隐藏的输入类型,进入我的fancybox,我的fancybox在之前的链接上用href =“#addNewPopup”调用...) :

$(".add").click(function(event){
    $("#hiddenInput").val(event.target.id);
    alert("CONTENT OF ID : "+($("#hiddenInput").val()));
});

这当然是一个“容易”解决的问题......但是无法得到它!

Thanx任何帮助! :)

(请不要告诉我链接ID上有语法错误,我只是在这里复制粘贴的PHP代码,所以我的''和“”可能看起来像错误...!:))

1 个答案:

答案 0 :(得分:2)

您需要使用this.id代替e.target.id

$("#hiddenInput").val(this.id);

targetevent属性是指导致事件引发的元素,在您的情况下,它可能是i元素。你需要的是得到ide.delegateTarget引用的锚元素的this

演示:Fiddle