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

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

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

一、問(wèn)題

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

二、經(jīng)過(guò)

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

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

但是,這個(gè)事件需要操作頁(yè)面,不可取。

三、結(jié)果

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

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

2、上一步驟完了之后,出現(xiàn)下拉框,但是下拉框還沒(méi)有點(diǎn)擊事件;需要再實(shí)現(xiàn)你想讓下拉框里面的哪個(gè)值有點(diǎn)擊事件。此時(shí),需要通過(guò)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í)際上看不出來(lái)效果,加一個(gè)延遲就可以了:

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

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

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

},3000);

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

相關(guān)文章

最新評(píng)論