好的,我在这个墙上撞墙,所以任何帮助都非常感激。
我有一个html输入字段:
通过ajax调用返回的(带有id:#data_input
)。
然后在表单提交到#data_input
字段的输入之前检查一下。
(注意:我在jquery的v1.7.1上)
如果没有输入任何内容,我可以通过以下方式更改字段的css以将其突出显示为红色:
$('#data_input').css('background-color','red')
并且工作正常,所以我可以很好地定位它。但是当我尝试通过以下方式进入字段时撤消红色背景时,我遇到了一个问题:
$('#data_input').on('focus', function(){$(this).css('background-color','white')});
但我一无所获。,有什么想法吗?
.live()
和.focus()
也不起作用:(
答案 0 :(得分:1)
修改:已更新为在动态元素上使用.on。
同样的方案对我有用..请在此处查看DEMO,代码如下,
<强> HTML:强>
<div id="result" ></div>
<强> JS:强>
$('#result').on ('focus', '#input_field', function () {
$(this).css ('background-color', 'white');
});
$('#result').on ( 'click', '#submit', function () {
if ($('#input_field').text() == '') {
$('#input_field').css ('background-color', 'red');
}
});
//added to dom after the binding. see above code.
$('#result').append('<input type="text" value="" id="input_field" />' +
'<input type="button" value="Submit" id="submit" />');
答案 1 :(得分:0)
答案 2 :(得分:0)
试试这个:
$(document).on('focus', '#data_input', function(){$(this).css('background-color','white')});