我有一个文本字段,标记我无法直接编辑:
<input type="text" name="email" value="Email Address" id="subscribe-field"
onclick="if ( this.value == 'Email Address' ) { this.value = ''; }"
onblur="if ( this.value == '' ) { this.value = 'Email Address'; }">
无论文本字段是否被点击,未点击或点击,我都需要将文本字段值设为空白。
我可以禁用该值:
$('#subscribe-field').val('');
我试图禁用onclick和onblur值:
$('#subscribe-field').click(function() { return false; });
$('#subscribe-field').off('click');
$('#subscribe-field').unbind('click');
...但是,只要我在文本字段外单击,该值就会重新出现。
如何从上面的标记中删除onblur值?
答案 0 :(得分:7)
尝试这种方式:
$('#subscribe-field').removeAttr('onclick');
$('#subscribe-field').removeAttr('onblur');
答案 1 :(得分:1)
您应该删除内联JavaScript。 jsfiddle。使用jQuery.one
将确保焦点事件仅被调用一次。
<input type="text" name="email" value="Email Address" id="subscribe-field" />
$('#subscribe-field').one('focus',function() {
this.value = '';
return false;
});
更新:根据mahmoud的建议,如果您无法修改html,则应删除onClick和onBlur属性。
off
和unbind
取消绑定jQuery click
事件而非内联onclick
并且返回false也无法解决您的问题,因为内联onClick
将被调用第一