hlzyWeb/Utility/jquery.bigautocomplete.js

(开头部分) 10KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

(function ($) {
    var bigAutocomplete = new function () {
        currentInputText = null; //目前获得光标的输入框(解决一个页面多个输入框绑定自动补全功能)
        this.functionalKeyArray = [9, 20, 13, 16, 17, 18, 91, 92, 93, 45, 36, 33, 34, 35, 37, 39, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 144, 19, 145, 40, 38, 27]; //键盘上功能键键值数组
        this.holdText = null; //输入框中原始输入的内容

        //初始化插入自动补全div,并在document注册mousedown,点击非div区域隐藏div
        this.init = function () {
            $("body").append("<div id='bigAutocompleteContent' class='bigautocomplete-layout'></div>");
            $(document).bind('mousedown', function (event) {
                var $target = $(event.target);
                if ((!($target.parents().andSelf().is('#bigAutocompleteContent'))) && (!$target.is($(currentInputText)))) {
                    bigAutocomplete.hideAutocomplete();
                }
            })

            //鼠标悬停时选中当前行
            $("#bigAutocompleteContent").delegate("tr", "mouseover", function () {
                $("#bigAutocompleteContent tr").removeClass("ct");
                $(this).addClass("ct");
            }).delegate("tr", "mouseout", function () {
                $("#bigAutocompleteContent tr").removeClass("ct");
            });


            //单击选中行后,选中行内容设置到输入框中,并执行callback函数
            $("#bigAutocompleteContent").delegate("tr", "click", function () {
                $(currentInputText).val($(this).find("div:first").html());
                var callback_ = $(currentInputText).data("config").callback;
                if ($("#bigAutocompleteContent").css("display") != "none" && callback_ && $.isFunction(callback_)) {
                    callback_($(this).data("jsonData"));

                }
                bigAutocomplete.hideAutocomplete();
            })

        }

        this.autocomplete = function (param) {

            if ($("body").length > 0 && $("#bigAutocompleteContent").length <= 0) {
                bigAutocomplete.init(); //初始化信息
            }
            var $this = this; //为绑定自动补全功能的输入框jquery对象

            var $bigAutocompleteContent = $("#bigAutocompleteContent");

            this.config = {
                //width:下拉框的宽度,默认使用输入框宽度
                width: 0,
                //url:格式url:""用来ajax后台获取数据,返回的数据格式为data参数一样
                url: null,
                /*data:格式{data:[{title:null,result:{}},{title:null,result:{}}]}
                url和data参数只有一个生效,data优先*/
                data: null,
                //callback:选中行后按回车或单击时回调的函数
                callback: null
            };
            $.extend(this.config, param);

后面还有 165 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。