如何访问触发该函数的DOM元素?

时间:2013-10-09 17:16:36

标签: jquery function events dom

所以我在DOM准备就绪时创建了我的jQuery事件,例如

$(document).ready(function() {
    $('A#myId').bind('click', function(e) {
        console.log(e);
        console.log($(this));
    });
});

因此,我很容易访问使用e$(this)触发事件的DOM元素。

我遇到的问题是我希望将我的脚本放在

这样的函数中
function myFunction()
{
    console.log();
}

和点击脚本,如

<a id="myId" onclick="myFunction()">My link</a>

$(document).ready(function() {
    $('A#myId').bind('click', function(e) {
        myFunction()
    });
});

如何访问使用该结构触发事件的DOM元素?

另外,当DOM准备就绪时,你能在函数中放置一个函数吗?如

$(document).ready(function() {
    function myFunction()
    {

    }
}); 

非常感谢(我对jQuery相对较新,而且我缺乏一些基础),如果这个主题已经得到解答,我很抱歉,我以前的研究没有成功(由于关键字质量差)。

2 个答案:

答案 0 :(得分:2)

试试这样:

<a id="myId" onclick="myFunction(this, event)">My link</a>
function myFunction(element, event)
{
    console.log(element + event);
}

$('A#myId').bind('click', function(e) {
        console.log(e.target);   
        Call Your Method(e) // event will be defined
});

其中

this将是你的html对象,而事件是将事件作为事件

您可以使用event.keyCode进行检查,也可以根据要求进行其他操作

答案 1 :(得分:0)

我刚试过这个

$(document).ready(function() {
    $('A#myId').bind('click', function(e) {
        myFunction(e)
    });
});

和这个

function myFunction(e)
{
    console.log(e);
}

它似乎有效。

这是唯一的方法吗?