猿问

jquery 如何给动态生成的textarea绑定scroll事件

<div>
    <texteare><textarea>
     <texteare><textarea><div>

div的高度固定100px,textarea的高度也是100px。textarea是动态生成的,当textarea内容很多时会出现垂直滚动条,我想通过jQuery(1.8)获取textarea的滚动事件。

 $('div').on('scroll','textarea',function(){        //……
        console.log('scroll')
    });

通过上面的代码获取不到textarea scroll事件,因为div并不会滚动。
请问一下该怎么写代码才能获取到动态生成textarea的scroll事件

添加示例代码

猛跑小猪
浏览 917回答 1
1回答

缥缈止盈

纠正几个错误。onscroll不是onmousewheel,比较特殊,必须是元素可滚动才能触发。然后on就是绑定在了$('这个元素').on(....)这个元素上,div没有滚动条触发不了。你可以在添加textarea的时候直接给textarea绑定事件呀。类似这样封装一下,应该可行function initTextarea(parentEl,changeEl,text){&nbsp; &nbsp; var elTextarea = $('<textarea></textarea>');&nbsp; &nbsp; elTextarea.on('scroll',function(){&nbsp; &nbsp; &nbsp; &nbsp; console.log('scroll');&nbsp; &nbsp; });&nbsp; &nbsp; $(changeEl).click(function(){&nbsp; &nbsp; &nbsp; &nbsp; elTextarea.val(text);&nbsp; &nbsp; });&nbsp; &nbsp; $(parentEl).append(elTextarea);}$('.add').click(function(){&nbsp; &nbsp; initTextarea(实参1,实参2,实参3);&nbsp; &nbsp; });
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答