从HTML中的onClick属性调用jQuery方法

我在整个系统中实现JQuery相对较新,我很享受这个机会。

我遇到过一个我很想找到正确决心的问题。

以下是我想要做的简单案例:

我在页面上有一个按钮,在click事件上我想调用我定义的jquery函数。

这是我用来定义我的方法(Page.js)的代码:

(function($) { $.fn.MessageBox = function(msg) { alert(msg); }; }); 

这是我的HTML页面:

       
Welcome!

(上面的代码显示按钮,但点击什么都不做。)

我知道我可以在文档就绪事件中添加click事件,但是将事件放在HTML元素中似乎更易于维护。 但是我还没有办法做到这一点。

有没有办法在按钮元素(或任何输入元素)上调用jquery函数? 或者有更好的方法吗?

谢谢

编辑:

感谢您的回复,看来我没有正确使用JQuery。 我真的很想看到一个以这种方式使用JQuery的系统示例以及如何处理事件。 如果您知道任何示例来certificate这一点,请告诉我。

我使用JQuery的基本目标是帮助简化和减少大规模Web应用程序所需的javascript数量。

我认为没有任何理由将此函数添加到JQuery的命名空间。 为什么不单独定义方法:

 function showMessage(msg) { alert(msg); };  

更新 :通过对方法的定义进行小的更改,我可以使其工作:

       
Welcome!

你忘了在你的函数中添加这个 :改为:

  

这个有效……

  

   
Welcome!

编辑

你正在使用$ alias的故障安全jQuery代码……它应该写成:

 (function($) { // plugin code here, use $ as much as you like })(jQuery); 

要么

 jQuery(function($) { // your code using $ alias here }); 

请注意,它每个都有一个’jQuery’字样….

不要这样做!

远离将事件与元素内联! 如果你不这样做, 你就错过了 JQuery(至少是最大的一个)。

之所以很容易以一种方式而不是另一种方式定义click()处理程序,则另一种方式根本就不可取。 因为你刚刚学习JQuery,所以坚持这个惯例。 现在不是你的学习曲线中的时间让JQuery决定其他人做错了你有更好的方法!

我知道很久以前就已经回答了这个问题,但是如果你不介意动态创建按钮,那么这只能使用jQuery框架:

 $(document).ready(function() { $button = $(''); $('body').append($button); $button.click(function() { console.log("Id clicked: " + this.id ); // or $(this) or $button }); }); 
  

And here is my HTML page:

Welcome!