欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

layui問題之模擬select點(diǎn)擊事件的實(shí)例講解

 更新時間:2018年08月15日 17:04:02   作者:柒仔不安  
今天小編就為大家分享一篇layui問題之模擬select點(diǎn)擊事件的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一、問題

不操作頁面,實(shí)現(xiàn)模擬select的事件,即,自動出現(xiàn)下拉框,自動點(diǎn)擊下拉框的值,select文本框的值隨之改變

二、經(jīng)過

剛開始查看layui官方文檔,發(fā)現(xiàn)僅僅只是有select監(jiān)聽事件,即:

form.on('select(filter)', function(data){
 console.log(data.elem); //得到select原始DOM對象
 console.log(data.value); //得到被選中的值
});

但是,這個事件需要操作頁面,不可取。

三、結(jié)果

查看layui源碼,關(guān)于select事件的實(shí)現(xiàn),在form.js中,看實(shí)現(xiàn)的原理。自動觸發(fā)select點(diǎn)擊原理就是:

1、找到當(dāng)前select的下一個div.layui-select-title節(jié)點(diǎn)的子元素,即input或者i,實(shí)現(xiàn)點(diǎn)擊事件。

2、上一步驟完了之后,出現(xiàn)下拉框,但是下拉框還沒有點(diǎn)擊事件;需要再實(shí)現(xiàn)你想讓下拉框里面的哪個值有點(diǎn)擊事件。此時,需要通過select找到下拉框dl里面的dd的具體的值,然后實(shí)現(xiàn)點(diǎn)擊事件。

這樣就完整的實(shí)現(xiàn)了模擬select點(diǎn)擊事件。

源碼:

<!-- HTML -->
<select name="modules" lay-verify="required" lay-search="">
            <option value="">直接選擇或搜索選擇</option>
            <option value="1">layer</option>
            <option value="2">form</option>
            <option value="3">layim</option>
          </select>
// JS:
$('select[name="modules"]').next().find('.layui-select-title input').click();

$('select[name="modules"]').next().find('.layui-anim').children('dd[lay-value="20"]').click();

雖然實(shí)現(xiàn)了效果,實(shí)際上看不出來效果,加一個延遲就可以了:

// 優(yōu)化后的js
$('select[name="modules"]').next().find('.layui-select-title input').click();

// 延遲3s再實(shí)現(xiàn)自動點(diǎn)擊下拉框事件

setTimeout(function () {
          $('select[name="modules"]').next().find('.layui-anim').children('dd[lay-value="20"]').click();

},3000);

以上這篇layui問題之模擬select點(diǎn)擊事件的實(shí)例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論