1

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

在我的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
    }

})();

如何在上面指示的位置获取单击的元素?

4

2 回答 2

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){
...
}
于 2013-04-26T12:04:51.763 回答
1

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

假设你有:

<a id="someLink" ..etc>Click here</a>
$("#someLink").click(function(event) {
   $(this).html("I have been clicked");
});
于 2013-04-26T11:41:27.103 回答