从javascript模块中获取事件目标

时间:2013-04-26 11:34:10

标签: javascript javascript-events revealing-module-pattern

我第一次使用揭示模块模式并逐渐掌握它。

在我的HTML中我有这样的东西:

<a href='#' onclick='myApp.doStuff'>Click here</a>

在javascript中我有:

var myApp = (function () {

    var doStuff = function() {
        //Get clicked element and modify it with jQuery?
    }

    return {
        doStuff: doStuff
    }

})();

如何在上面指出的位置获得点击的元素?

2 个答案:

答案 0 :(得分:3)

你可以使用jQuery方法,比如alex23说的。

但你也可以写html:

<a href='#' onclick='myApp.doStuff(this)'>Click here</a>

这适用于您的javascript:

var myApp = (function () {

    var doStuff = function(elem) {
        //use the element here
    }

    return {
        doStuff: doStuff
    }

})();


更新

如果您也想传递事件对象,请将onclick中的调用扩展为:

onclick='myApp.doStuff(this, event)'

和javascript:

...
var doStuff = function(elem, event){
...
}

答案 1 :(得分:1)

使用jQuery事件处理。跨浏览器事件处理在JavaScript中不是一件小事。

说你有:

<a id="someLink" ..etc>Click here</a>
$("#someLink").click(function(event) {
   $(this).html("I have been clicked");
});