jquery中的简单自定义事件

时间:2013-08-01 07:35:26

标签: javascript jquery

我正在尝试学习jquery自定义事件。

我需要在页面加载时触发一个简单的事件。

HTML:

<div id="mydiv"> my div</div>

我需要调用自己的事件来发出警报

$("#mydiv").custom();

我尝试了下面的代码。

function customfun()
    {
        $("#mydiv").trigger("custom");
    }

    $(document).ready(function () {

        $("#mydiv").bind(customfun, function () {
            alert('Banana!!!');
        });

    });

3 个答案:

答案 0 :(得分:4)

您需要绑定到相同的事件名称 - “custom” - 就像您触发的那样。像这样:

$("#mydiv").on("custom", function () { ...

Fiddle

答案 1 :(得分:2)

要将自定义事件作为jquery函数调用,您需要通过$.fn定义这样的函数:

$(document).ready(function () {
    //define the event
    $(document).on('custom', function() { 
      alert('Custom event!');
    });

    //define the function to trigger the event (notice "the jquery way" of returning "this" to support chaining)
    $.fn.custom = function(){
        this.trigger("custom");
        return this;
    };

    //trigger the event when clicked on the div
    $("#mydiv").on("click", function() {
        $(this).custom();
    });
});

答案 2 :(得分:0)

你可以通过这样做来打电话:

$.fn.mycustom = function(){
     return this;
};

$("div").mycustom();