0

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

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

因此,我可以很容易地访问触发事件的 DOM 元素e$(this)

我遇到的问题是当我想将我的脚本放在一个函数中时,例如

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 比较陌生,我缺乏一些基础),很抱歉,如果这样的主题已经得到解答,我之前的研究是不成功的(由于关键字质量差)。

4

2 回答 2

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,也可以根据要求进行其他操作

于 2013-10-09T17:19:19.403 回答
0

我刚刚尝试过这样做

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

还有这个

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

它似乎工作。

这是唯一的方法吗?

于 2013-10-09T17:21:44.373 回答