jQuery - 自动检测div id

时间:2011-10-30 09:43:48

标签: jquery

我正在尝试自动检测单击的div,然后添加特定div的文本。

所以,这就是我要做的事情:

$('#sjalland').live("click", function(e) {
    e.preventDefault(); 
    $('#searchBoxBig').val('Sjælland, ');
    $('#searchBoxBig').focus()

return false;
});

现在,我有6个div,点击时必须激活此功能(如#sjalland)。但是现在看起来我必须创建6个相同的功能?

如何创建智能的东西来检测单击哪个div,而不是创建6个相同的函数,然后将#sjalland替换为#midjjylland,#nordjylland等等?

3 个答案:

答案 0 :(得分:2)

为你的div提供相同的类,并使用classname作为选择器而不是id。 e.g。

$(".someclassname").live("click", function() {
    $('#searchBoxBig').val($(this).attr("id")).focus();
});

或者,将点击回调应用于包含div并使用event.target检测单击了哪个内部div(使用event.stopPropagation()以防止事件冒泡到父div。)

答案 1 :(得分:2)

在操作中,您可以使用$(this)来检查特定点击的项目。

示例:

$("div.myDivs").click(
    function(){
        var id = $(this).attr("id"); //Id of the object
    }
);

答案 2 :(得分:0)

使用e.target获取点击的元素(即,如果您绑定到父级并想知道点击了哪个孩子)。

使用this获取处理程序绑定的元素。

相关问题