jquery 已经给文本框绑定了方法,动态的增加了文本框后,为什么新增的文本框没有已经绑定的方法?
$(document).ready(function(){varfocuscss={background:"#FFFF93",border:"#B3BCDDsolid1p...
$(document).ready(function() {
var focuscss = {
background : "#FFFF93",
border : "#B3BCDD solid 1px"
};
var blurcss = {
background : "#fff",
border : "#cccccc solid 1px"
}
$(":text").focus(function() {
$(this).css(focuscss);
}).blur(function() {
$(this).css(blurcss);
});
});
给文本框绑定了焦点方法和失去焦点方法,为什么页面上动态添加的文本框没有效果?怎么使新添加的文本框也有同样的方法? 展开
var focuscss = {
background : "#FFFF93",
border : "#B3BCDD solid 1px"
};
var blurcss = {
background : "#fff",
border : "#cccccc solid 1px"
}
$(":text").focus(function() {
$(this).css(focuscss);
}).blur(function() {
$(this).css(blurcss);
});
});
给文本框绑定了焦点方法和失去焦点方法,为什么页面上动态添加的文本框没有效果?怎么使新添加的文本框也有同样的方法? 展开
4个回答
展开全部
没有效果是应该的,你的方法是在页面加载时生效。动态加载的方法根本无法检测到,因为它只检测你加载页面时的那些TextBox,所以要有同样的方法,在你新增的TextBox中再加上焦点方法和失去焦点方法也就是onblur和onfocus。
追问
只有这种方法么?你说的这种方法我已经用了,但是感觉很麻烦,要在动态增加text的js代码中添加onblur,obfocus而且还要重新定义相应的方法
追答
那你就把失去焦点和获取焦点的方法再在动态加载textBox后再执行一次。这样吧~你把那个方法放在function aaa(){} 中,然后调用aaa就行了。你试试,应该可行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$(":text").focus(function() {
改成
$(":text").live('focus',function() {
下面的blur也是
改成
$(":text").live('focus',function() {
下面的blur也是
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实drink51已经说的很清楚了,用live
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询