创建我自己的函数,可以使用和不使用jQuery选择器

时间:2012-01-11 18:57:06

标签: jquery

考虑这个功能:

jQuery.fn.MyFunction = function (event) {
   alert(this.text());
}

我想以两种方式称呼它:

$('#myElement').bind('click', MyFunction );

$("#myOtherElement").click(function (event) {
   //some processing
   this.MyFunction(event);
}

声明myFuntion以允许这两种情况的正确方法是什么?

这里是jsfiddle http://jsfiddle.net/4Z4fQ/5/,但我似乎也有jsfiddle问题,绑定到我的开始按钮。

1 个答案:

答案 0 :(得分:2)

以下是jsfiddle的工作原理。

您遇到的主要问题是,在将点击事件绑定到myOtherElement

时,您从未添加过右括号

HTML

<div id='myElement'>
    My Element
</div>
<div id='myOtherElement'>
    My Other Element
</div>

JS

jQuery.fn.MyFunction = function (event) {
   alert('My function was called');
   alert($(this).text());
};

$('#myElement').bind('click', $.fn.MyFunction);
$("#myOtherElement").click(function (event) {
   //some processing

   $(this).MyFunction(event);
});