layui 事件监听触发

该博客介绍了JavaScript对表单元素的监听操作,包括select改变、checkbox复选框、switch开关、radio单选框以及submit提交的监听。内容转载自相关博客。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:监听select 改变

<!-- 不用form 用div也可以 -->
<form class="layui-form">
    <div class="layui-form-item">
        <label class="layui-form-label">下拉选择框</label>
        <div class="layui-input-block">
            <select name="interest" lay-filter="aihao">
                <option value="0">写作</option>
                <option value="1">阅读</option>
                <option value="2">听歌</option>
                <option value="4">游戏</option>
            </select>
        </div>
    </div>
</form>
<script type="text/javascript" src="./layui/layui.js"></script>
<script type="text/javascript">
layui.use('form', function(){
    var form = layui.form;
    form.on('select(aihao)',function(data){
        console.log(data);
        console.log(data.elem); //得到select原始DOM对象
        console.log(data.value); //得到被选中的值
        console.log(data.othis); //得到美化后的DOM对象
    });
});
</script>

  

2:监听checkbox 复选框

form.on('checkbox(filter)', function(data){
    console.log(data.elem); //得到checkbox原始DOM对象
    console.log(data.elem.checked); //是否被选中,true或者false
    console.log(data.value); //复选框value值,也可以通过data.elem.value得到
    console.log(data.othis); //得到美化后的DOM对象
});

  

3:监听switch 开关

form.on('switch(filter)', function(data){
  console.log(data.elem); //得到checkbox原始DOM对象
  console.log(data.elem.checked); //开关是否开启,true或者false
  console.log(data.value); //开关value值,也可以通过data.elem.value得到
  console.log(data.othis); //得到美化后的DOM对象
});

  

4:监听radio 单选框

form.on('radio(filter)', function(data){
    console.log(data.elem); //得到radio原始DOM对象
    console.log(data.value); //被点击的radio的value值
});

  

5:监听submit 提交

<button lay-submit lay-filter="*">提交</button>
form.on('submit(*)', function(data){
    console.log(data.elem) //被执行事件的元素DOM对象,一般为button对象
    console.log(data.form) //被执行提交的form对象,一般在存在form标签时才会返回
    console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
    return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});

  

转载于:https://www.cnblogs.com/rakich/p/10812494.html

### Layui Input 元素监听事件方法 对于希望在 Layui 框架中为 `input` 元素添加监听事件的需求,可以通过特定的方式实现。Layui 提供了多种方式来处理不同类型的输入变化。 #### 使用内置的 change 事件监听器 为了确保能够有效监听到 `input` 的改变,在 HTML 部分应给目标元素设置属性 `lay-filter="someFilter"` 。此过滤器名称用于关联 JavaScript 中定义的行为逻辑[^2]: ```html <div class="layui-inline"> <label class="layui-form-label">用户名</label> <div class="layui-input-block"> <input type="text" id="username" name="title" required lay-verify="required" placeholder="请输入标题" autocomplete="off" class="layui-input" lay-filter="usernameInput"> </div> </div> ``` 接着可以在脚本部分通过调用 `.on()` 方法绑定相应的回调函数至该过滤器上: ```javascript layui.use(['form'], function(){ var form = layui.form; // 监听指定 filter 的 input 变化 form.on('change(usernameInput)', function(data){ console.log(data.elem); // 得到当前被选中的元素 DOM 对象 console.log(data.value); // 获取当前值 }); }); ``` 需要注意的是上述例子使用了 `change` 而不是原始描述里的 `inputpropertychange`,因为后者并不是标准浏览器支持的标准事件名;而前者则是广泛接受并由 Layui 支持的一种形式。 另外一种更通用的做法是利用 jQuery 或者原生 JS 来捕获即时的变化情况,比如当用户正在键入文字时触发某些操作: ```javascript // 假设已经加载了jQuery库 $('#username').on('input', function() { alert($(this).val()); }); // 如果不依赖于任何额外库,则可以直接采用纯JS版本 document.getElementById('username').addEventListener('input', function(event) { alert(event.target.value); }); ``` 以上两种方案都可以很好地满足实时获取用户输入内容的需求,并且适用于大多数场景下的开发工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值