jQuery事件没有触发

Ale*_*and 3 html javascript jquery

我一直试图让这个工作.基本上,我有中有一个默认字符串(即搜索)搜索框,当用户点击输入字段应该消失.

这是代码:

HTML:

<form method="get" action="index.php" id="search">
<span id="searchLogo"></span>
<input type='text' name='q' id='searchBox' value="Search <?php print $row[0]?> tweets!" autocomplete="off" />
</form>
Run Code Online (Sandbox Code Playgroud)

Javascript/jQuery :( defaultString是一个具有文本框值的全局变量)

function clearDefault() {
var element = $('#searchBox');

if(element.attr('value') == defaultString) {
    element.attr('value',"");
}
element.css('color','black');
}

$('#searchBox').focus(function() {
clearDefault();
});
Run Code Online (Sandbox Code Playgroud)

Sad*_*ran 5

问题在这里:

if(element.attr('value') == defaultString) {
    element.attr('value',"");
}
Run Code Online (Sandbox Code Playgroud)

改变它:

if(element.val() == defaultString) {
    element.val('value');
}
Run Code Online (Sandbox Code Playgroud)

更新:请在此处查看:http: //jsfiddle.net/mr3T3/2/


Ale*_*and 5

问题是事件绑定不在$(document).ready()处理程序中.

固定:

function clearDefault() {
var element = $('#searchBox');

if(element.val() == defaultString) {
element.val("");
}
element.css('color','black');
}

$(document).ready(function() {
    $('#searchBox').focus(function() {
    clearDefault();
    });
});
Run Code Online (Sandbox Code Playgroud)