下面的代码创建一个搜索字段,然后将焦点事件附加到它,以便当用户在输入字段中单击时预设值消失。 .focus行在控制台中工作,但不在代码中工作。如何让它在代码中运行?
<script type='text/javascript'>
jQuery( document ).ready(function( $ ) {
jQuery('#site-nav').append("<div class='nav' style='width: 130px; margin-top: 15px;'><form id='site-search' method='get' action='/search'><input id='search' name='search' class='textfield' tabindex='1' type='text' style='border-radius: 10px; height: 30px;' value='SEARCH'></form></div>")
});
jQuery("#search").focus(function(){$(this).val("");});
</script>
顺便说一下,我必须拼出“jQuery&#39;因为我们的应用程序配置为避免冲突 谢谢。祝福
答案 0 :(得分:7)
在ready
方法中移动该行:
jQuery( document ).ready(function( $ ) {
jQuery('#site-nav').append("<div class='nav' style='width: 130px; margin-top: 15px;'><form id='site-search' method='get' action='/search'><input id='search' name='search' class='textfield' tabindex='1' type='text' style='border-radius: 10px; height: 30px;' value='SEARCH'></form></div>");
jQuery("#search").focus(function(){$(this).val("");});
});
编辑:
请记住,如果字段获得焦点,focus()
中的匿名函数将始终被触发。所以在这个动作之后它总是空的