下拉框click事件與搜尋框blur事件的愛恨糾葛

2022-03-17 20:50:56 字數 1504 閱讀 6497

//

參會單位聯想

$('input[name="company_name"]').bind('input propertychange', function

() ,

datatype:'jsonp',

success:

function

(res))

$('#company_list').html(str);

$(_this).parent().addclass('layui-form-selected');

}else

); }}})

}, 1000);

$('#company_list').on('click','dd',function

());

$(_this).parent().removeclass('layui-form-selected');

$(this).parent().html('');

isselect = false

; })

});$('input[name="company_name"]').blur(function

(ev))

點選 dd ,此時先觸發 mousedown

input 的 blur 觸發

下拉框消失

此時滑鼠抬起並不是在下拉框上

dd 的 click 並沒有觸發

解決方案

監聽dd的mousedown,這也會先取值,然後input再失焦(體驗不太好,使用者按下就會觸發,不允許糾結,比如我按下第乙個的時候,突然想選擇第二個)

dd還是,input還是blur,全域性定義乙個isselect變數,監聽dl的mousedown 觸發以後修改isselect = true

,這樣在blur時,先判斷isselect 就好了。(**如下)

var isselect = false;//

some code

$('#company_list').on('click','dd',function

());

$(_this).parent().removeclass('layui-form-selected');

$(this).parent().html('');

isselect = false; //

++})

// some code

// 以下為新增

$('#company_list').mousedown(function

(),0)

})$('input[name="company_name"]').blur(function

(ev)

//++

})

雖然 settimeout 是0毫秒的延遲,但是他在下一次的事件佇列中,所以會先執行 input 的 blur 事件,再執行 settimeout 。

下次可能會寫一下關於 eventloop 的東西。

帶搜尋框的select下拉框

利用select2製作帶有搜尋功能的select下拉框 1.引入線上css和js script 2.在select標籤內加入class屬性js example basic single value al alabama value wy wyoming select 3.呼叫js document ...

下拉框 列舉

列舉 public enum mchtprofitsplittype public string getvalue class 初始化中要放到下拉列表裡的 分賬方式列舉mchtprofitsplittype listorgprofitsplittypelist new arraylist mchtp...

下拉框元件

createselect.js text 建立民族陣列 var arraynation new array 漢族 蒙古族 彝族 侗族 哈薩克族 畲族 納西族 仫佬族 仡佬族 怒族 保安族 鄂倫春族 回族 壯族 瑤族 傣族 高山族 景頗族 羌族 錫伯族 烏孜別克族 裕固族 赫哲族 藏族 布依族 白族 ...