为了账号安全,请及时绑定邮箱和手机立即绑定

从外部触发 jquery 插件中的事件

从外部触发 jquery 插件中的事件

心有法竹 2022-01-13 15:11:46
我使用具有内部事件“onSelectItemEvent”的 jquery 简单自动完成插件。现在我想从外部调用这个事件(因为它绑定到我已经写过的一个广泛的函数)。我准备了一个小提琴,但是用它触发插件事件不起作用:)$("#example-ac").easyAutocomplete(this.list.onSelectItemEvent());$(document).ready(function() {  var options_ac = {    url: "https://fcgi.msk.link/model-json.pl?site=test",    getValue: function(element) {      //console.log(element);      return element;    },    list: {      match: {        enabled: true      },      sort: {        enabled: true      },      maxNumberOfElements: 8,      onSelectItemEvent: function() {        $("output").html($("#example-ac").val())      }    },    theme: "square"  };  $("#example-ac").easyAutocomplete(options_ac);  $("#trigga").click(function() {    $("#example-ac").easyAutocomplete(this.list.onSelectItemEvent());  });});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/easy-autocomplete/1.3.5/easy-autocomplete.themes.min.css" rel="stylesheet" /><link href="https://cdnjs.cloudflare.com/ajax/libs/easy-autocomplete/1.3.5/easy-autocomplete.min.css" rel="stylesheet" /><script src="https://cdnjs.cloudflare.com/ajax/libs/easy-autocomplete/1.3.5/jquery.easy-autocomplete.min.js"></script><input id="example-ac" /><br><input id="example-ac" /><br/><output></output><button id="trigga">trigger</button>http://jsfiddle.net/Lgetus29/感谢您提供提示,如果这可行,或者解决方案必须以其他方式完成。codepen 示例只是小代码,而这个内部函数的真正编码是大量的,所以我想重用。也许我最好在插件之外创建一个函数,然后在“onSelectItemEvent()”中重用这个函数,这可能吗?
查看完整描述

1 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

为什么不像这样使用它


$("#trigga").click(function() {

    options_ac.list.onSelectItemEvent()

});

所以你的最终代码看起来像


$(document).ready(function() {

    var options_ac = {

        url: "https://fcgi.msk.link/model-json.pl?site=test",

        getValue: function(element) {

        //console.log(element);

            return element;

        },

        list: {

            match: {

                enabled: true

            },

            sort: {

                enabled: true

            },

            maxNumberOfElements: 8,

            onSelectItemEvent: function() {

                $("output").html($("#example-ac").val())

            }

        },

        theme: "square"

    };

    $("#example-ac").easyAutocomplete(options_ac);


    $("#trigga").click(function() {

        options_ac.list.onSelectItemEvent();

    });

});


查看完整回答
反对 回复 2022-01-13
  • 1 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号