一、概述
Layui是一款非常流行的前端UI框架,通过Layui可以非常方便地搭建网站前端。在Layui中,我们常常需要为某些元素动态绑定事件,例如给一个按钮绑定点击事件,但是如果使用传统的添加事件监听函数的方式可能会出现问题,这时候我们就需要动态绑定事件了。
二、动态绑定事件的方法
在Layui中,我们可以使用 done 函数来实现动态绑定事件的效果。具体代码如下所示:
layui.use(['form', 'jquery'], function () {
var form = layui.form;
var $ = layui.jquery;
// 动态绑定form表单元素的change事件
form.on('select', function(data){
console.log(data.elem); //得到select原始DOM对象
console.log(data.value); //得到被选中的值
console.log(data.othis); //得到美化后的DOM对象
});
// 动态绑定按钮的click事件
$('button').on('click', function () {
console.log('按钮被点击了');
});
});
以上代码展示了如何在Layui中动态绑定 form 表单元素的 change 事件和按钮的 click 事件。在 form.on 中,我们可以使用 select、checkbox、radio 等方式来动态绑定 form 表单元素的事件;在 $().on 中,我们可以使用各种选择器来动态绑定 DOM 元素的事件。
三、示例说明
下面通过两个示例来进一步说明动态绑定事件的用法。
示例一:动态绑定下拉框 change 事件
首先我们在页面中添加一个下拉框元素:
<div class="layui-form-item">
<label class="layui-form-label">城市</label>
<div class="layui-input-inline">
<select name="city" lay-verify="required" lay-filter="city">
<option value=""></option>
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="广州">广州</option>
<option value="深圳">深圳</option>
<option value="杭州">杭州</option>
</select>
</div>
</div>
然后在 JS 中动态绑定 change 事件:
layui.use(['form'], function () {
var form = layui.form;
// 动态绑定城市下拉框的change事件
form.on('select(city)', function(data){
console.log(data.elem); //得到select原始DOM对象
console.log(data.value); //得到被选中的值
console.log(data.othis); //得到美化后的DOM对象
});
});
在上面的代码中,我们使用了 form.on 的方式来动态绑定城市下拉框的 change 事件。其中 city 为下拉框的 lay-filter 属性值,对应 form.on 中的 select 事件。
示例二:动态绑定按钮 click 事件
在页面中添加一个按钮元素:
<button class="layui-btn" id="my-button">点击我</button>
然后在 JS 中动态绑定 click 事件:
layui.use(['jquery'], function () {
var $ = layui.jquery;
// 动态绑定按钮的click事件
$('#my-button').on('click', function () {
console.log('按钮被点击了');
});
});
在上面的代码中,我们使用了 $().on 的方式来动态绑定按钮的 click 事件。其中 my-button 为按钮的 id 属性值,对应 $().on 中的选择器。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:layui动态绑定事件的方法 - Python技术站