首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法绑定事件

无法绑定事件
EN

Stack Overflow用户
提问于 2014-08-21 13:19:34
回答 2查看 65关注 0票数 0

我试图将onchange事件绑定到文本区域,但这不起作用

代码语言:javascript
复制
$('#Que_dlist_ctl0' + sectionid + '_Inner_dlist tr:nth-child(' + (i + 1) + ')  
#Que_dlist_ctl0' + sectionid + '_Inner_dlist_ctl0' + i + '_txtsuggest')
.addClass("clTxt_" + i)
.bind("change",function(){"Validate(this);"});

在呈现的html中,我可以看到按需要添加的'class‘,而不是事件。还尝试了.attr而不是bind

代码语言:javascript
复制
$('#Que_dlist_ctl0' + sectionid + '_Inner_dlist tr:nth-child(' + (i + 1) + ')  
    #Que_dlist_ctl0' + sectionid + '_Inner_dlist_ctl0' + i + '_txtsuggest')
    .addClass("clTxt_" + i)
    .attr("onchange","Validate(this);"});

它不工作在火狐,即和铬。

表和控件中的行都是动态生成的,因此也就是奇怪的id选择器。

代码语言:javascript
复制
<textarea class="clTxt_0" name="Que_dlist$ctl00$Inner_dlist$ctl00$txtsuggest"  
rows="3" cols="20" id="Que_dlist_ctl00_Inner_dlist_ctl00_txtsuggest"  
style="width:300px;"></textarea>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-21 13:59:41

如果编写$(selector).bind("change",function(){}); or $(selector).change(function(){});,当事件被绑定到textarea时,这只会绑定到DOM中已经存在的那些文本区域。

由于您的行是动态生成的,所以您可以在生成

代码语言:javascript
复制
<textarea class="gridTextArea" class="clTxt_0" 
 name="Que_dlist$ctl00$Inner_dlist$ctl00$txtsuggest" rows="3" cols="20" 
 id="Que_dlist_ctl00_Inner_dlist_ctl00_txtsuggest"  style="width:300px;" >
 </textarea>

并将其绑定,如下所示,它将绑定到所有新创建的文本区域,并在动态创建的行中使用。

代码语言:javascript
复制
$(document).on("change",".gridTextArea",function(){
//your logic goes here
 });

希望这会有所帮助:)

票数 0
EN

Stack Overflow用户

发布于 2014-08-21 13:21:05

使用:

代码语言:javascript
复制
.change(function(){
   Validate(this);
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25427417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档