Backbone新手求助:如何为if语句添加输入值判断条件?
实现输入框值判断的Backbone事件绑定需求
嘿,作为刚接触Backbone的新手,这个需求其实很好实现~核心就是通过jQuery获取目标输入框的值,然后把判断条件放进if语句里就行,我给你两种常见场景的实现方案:
场景1:页面加载时仅判断一次
如果只需要在页面加载完成时判断输入框的值,满足条件就绑定按钮事件,直接在if里加入输入框值的判断逻辑即可。首先你需要用正确的选择器定位到目标输入框(比如id、类名,或者其他能唯一选中它的选择器):
// 替换成你实际的输入框选择器,比如#my-input或者.some-class if ($('#target-input').val() === 'something') { var object = {}; _.extend(object, Backbone.Events); object.on('click_me', function() { console.log("test"); }); $(document).on('click', '#button', function(event) { object.trigger('click_me'); }); }
这里用jQuery的val()方法获取输入框的当前值,和字符串'something'做严格相等判断(===),确保类型和值都匹配。
场景2:实时响应输入框的内容变化
如果需要在用户修改输入框内容时,动态开启/关闭按钮的事件绑定(比如输入"something"后按钮才生效,改其他内容就失效),那你需要监听输入框的input或change事件,实时重新判断:
// 监听输入框的内容变化事件 $('#target-input').on('input change', function() { // 先移除之前绑定的按钮点击事件,避免重复绑定导致多次触发 $(document).off('click', '#button'); // 实时判断当前输入框的值 if ($(this).val() === 'something') { var object = {}; _.extend(object, Backbone.Events); object.on('click_me', function() { console.log("test"); }); $(document).on('click', '#button', function(event) { object.trigger('click_me'); }); } });
这个方案里,每次用户修改输入框内容时,都会先解绑之前可能存在的按钮事件,再根据新的输入值决定是否重新绑定事件,避免出现点击按钮多次触发console.log的问题。
内容的提问来源于stack exchange,提问作者FortuneSoldier
相关产品推荐
相关产品推荐

