从html onclick中执行命名空间函数

时间:2014-06-06 11:23:43

标签: javascript

如何在html

的变量中调用名称空间的函数
<button onclick="hello()">Click me</button>

var app  = app || {};
(function($) {
    app.hello = function() {
         console.log("hello");   
    }
})(app, jQuery);

小提琴 - http://jsfiddle.net/5XMYD/5/

2 个答案:

答案 0 :(得分:2)

像这样:

<button onclick="app.hello()">Click me</button>

您需要在jsfiddle中选择no wrap in <head>no wrap in <body>选项,否则您的app变量将不具有全局范围,并且无法从您的事件处理程序访问:

http://jsfiddle.net/5XMYD/8/

尽管如此,你应该使用不引人注目的JavaScript,而不是内联事件处理程序:

<button id="clickButton">Click me</button>

$(function() {
    $("#clickButton").click(app.hello);
});

http://jsfiddle.net/5XMYD/9/

答案 1 :(得分:0)

简单地这样做应该有效

<button onclick="app.hello()">Click me</button>

虽然由于某种原因它在jsfiddle中不起作用。在现实环境中工作正常。