如何在keyup事件中获取当前mytxt类输入框元素并传递给其他函数?
如何获取当前输入的文本框元素并传递给函数?
你这个思路完全没问题,核心就是利用jQuery事件回调里的this关键字——它会自动指向当前触发事件的DOM元素(也就是用户正在输入的那个.mytxt文本框)。具体写法可以这样:
// 绑定keyup事件到所有动态生成的.mytxt元素 $('body').on('keyup', '.mytxt', function() { // 把当前触发事件的文本框元素作为参数传给someFunction someFunction(this); }); // 示例接收函数 function someFunction(inputElement) { // 这里可以直接操作传入的原生DOM文本框元素 console.log('当前输入框的值:', inputElement.value); // 如果需要用jQuery方法操作,也可以把它转为jQuery对象 console.log('jQuery方式获取值:', $(inputElement).val()); }
补充细节说明:
- 你原来写的
function(element)里的element其实是事件对象,不是当前输入框元素哦,所以要改用this来获取目标元素。如果需要同时用到事件对象和当前元素,可以这么写:$('body').on('keyup', '.mytxt', function(event) { // event是事件对象(比如可以用来获取按键信息),this是当前输入框 someFunction(this, event); }); - 因为你的文本框是动态生成的,所以用
$('body').on('事件', '选择器', 回调)这种事件委托的写法是完全正确的,能确保后续新增的.mytxt元素也能触发绑定的事件。
内容的提问来源于stack exchange,提问作者Gp Master
相关产品推荐
相关产品推荐

