首页 > 解决方案 > 在 javascript 自定义对象上创建“on”事件侦听器

问题描述

如何on为自定义对象添加事件侦听器。

例如:

(function () {
    this.EmojiPicker = (function () {
        function EmojiPicker(options) {
            // ...
        }

        EmojiPicker.prototype.test = function () {
            //...
        };

        return EmojiPicker;

    })();
}).call(this);

我想添加

let emojiPicker = new EmojiPicker();

emojiPicker.on("change", function () {
    //
});

标签: javascriptjquery

解决方案


我有一个从您的代码修改的简单示例。看看这是否有帮助。

主要思想是通过触发事件$(emojiPicker).trigger('change');,以便您可以接收$(emojiPicker).on("change", function () {});

<html>
<head>
    <script type="text/javascript" src="./jquery-1.7.1.js"></script>
    <script>
    (function () {
        
        this.EmojiPicker = (function () {
            function EmojiPicker(options) {
                // ...
            }

            EmojiPicker.prototype.test = function () {
                //...
                $(emojiPicker).trigger('change');
            };

            return EmojiPicker;

        })();
        
        
        let emojiPicker = new EmojiPicker();

        $(emojiPicker).on("change", function () {
            alert("triggered");
        });
    }).call(this);
        
    </script>
</head>
<body>
</bofy>
</html>

来自jQuery 中的自定义事件的更多信息?


推荐阅读