我有一些文本字段可以通过选择菜单显示/隐藏。发生这种情况时,监视文本字段值以进行更改的脚本不会正确触发。由于某种原因,它没有注意到变化。
var somethingChanged = false;
$(document).ready(function(){
$('input, select').change(function() {
somethingChanged = true;
console.log($(this).attr('name')+ ' has changed');
$('input[class*=input]').focus(function () {
if ($(this).hasClass('left')) {
$(this).parent().addClass("lightOverlay");
console.log($(this).attr('name')+ ' added lightOverlay');
}
}).blur(function () {
if (this.value == ''){
$(this).parent().removeClass('lightOverlay')
console.log($(this).attr('name')+ ' removed lightOverlay');
}
})
$('input[class*=input]').focus(function () {
if ($(this).hasClass('right')) {
$(this).parent().addClass("lightOverlayRight");
console.log($(this).attr('name')+ ' added lightOverlayRight');
}
}).blur(function () {
if (this.value == ''){
$(this).parent().removeClass('lightOverlayRight')
console.log($(this).attr('name')+ ' removed lightOverlayRight');
}
})
})
});
如何在选择菜单更改时执行此代码?
这是有问题的网站的完整代码: http://2plygraphics.com/im-here/
您会在网站上看到,如果您为3个名称添加值,然后将其设置为7个名称,则右侧的名称不会正确应用背景图像,直到您点击它们为止...我&#39 ; d喜欢在选择菜单上检查代码并相应地更新背景。
我想把它改成这样的东西(基本上将整个东西包裹在单击选择菜单时调用的函数中):
var somethingChanged = false;
$(document).ready(function(){
$('select').click (function () {
$('input, select').change(function() {
somethingChanged = true;
console.log($(this).attr('name')+ ' has changed');
$('input[class*=input]').focus(function () {
if ($(this).hasClass('left')) {
$(this).parent().addClass("lightOverlay");
console.log($(this).attr('name')+ ' added lightOverlay');
}
}).blur(function () {
if (this.value == ''){
$(this).parent().removeClass('lightOverlay')
console.log($(this).attr('name')+ ' removed lightOverlay');
}
})
$('input[class*=input]').focus(function () {
if ($(this).hasClass('right')) {
$(this).parent().addClass("lightOverlayRight");
console.log($(this).attr('name')+ ' added lightOverlayRight');
}
}).blur(function () {
if (this.value == ''){
$(this).parent().removeClass('lightOverlayRight')
console.log($(this).attr('name')+ ' removed lightOverlayRight');
}
})
})
});
});
但这似乎没有用...... Noob中央在这里!!!请帮忙!
答案 0 :(得分:0)
您是否尝试过textinput的keyup?
例如
$('input[type=text]').keyup(function() {