当我在输入文本字段中使用模糊事件时,它包括所有页面,但也提交按钮。那么如何避免模糊事件不包括提交按钮?
这是html代码:
<form>
<input type="text" value="EMAIL ADDRESS_" id="text" />
<input type="submit" val="" id="submit" />
</form>
和脚本:
$('form input[type!=submit]').focus(function(){
$(this).val("");
});
$('form input[type!=submit]').blur(function(){
if(this.value==""){
$(this).val("EMAIL ADDRESS_");
}
});
我从上一个问题中获取此代码,但它不起作用.Blur事件仍包含提交按钮
答案 0 :(得分:1)
我认为不应该从选择中避开一个字段,而应该更好地指定要考虑选择的项目。否则,如果有人/你,在未来可能会在表单中添加一个新元素,你可能想知道这种行为(模糊和焦点)来自“刚才添加的元素”!
$(function(){
$("form input[type='text']").focus(function(){
$(this).val("");
});
$("form input[type='text']").blur(function(){
if(this.value==""){
$(this).val("EMAIL ADDRESS_");
}
});
});
请注意,您仍然定位所有类型为text 的输入字段。因此,如果可能的话,尝试通过将类名应用于这些元素并将其用作选择器来使其更具体。或者您也可以使用元素的 id 。
$("form #yourElemntId").focus(function(){
//do stuff
});
答案 1 :(得分:0)
您的解决方案几乎不错,您只是错过submit
$("form input[type!='submit']").focus(function(){
$(this).val("");
});
$("form input[type!='submit']").blur(function(){
if(this.value==""){
$(this).val("EMAIL ADDRESS_");
}
});