我有這樣的代碼:setTimeout和鼠標移開問題
function beforemouseout() {
if ($(this).val() == '') {
$(this).val($(this).attr('title'));
}
else {
}
setTimeout('beforemouseout()',3000);
}
$(".other").click(function() {
$(this).val('');
$(".other").mouseout(beforemouseout);
});
<input id="hour" type="text" class="other" autocomplete="off" value="hour" title="hour" />
<input id="hour" type="text" class="other" autocomplete="off" value="minutes" title="minutes" />
但螢火蟲給我一個錯誤:beforemouseout沒有定義。 爲什麼? 我在jsfiddle.net上試過了,它沒有給出錯誤,但結果並不是我所期望的。我期望當我點擊#hour來隱藏文本,並且當onmouseout被觸發時等待5秒,然後 - 做檢查
是真的正是你的代碼是什麼樣子?因爲如果是這樣,我不認爲你會得到那個錯誤。螢火蟲說這個錯誤發生在哪一行? – Pointy 2010-07-25 13:01:42
您可以將'setTimeout('beforemouseout()',3000)''重寫爲'setTimeout(beforemouseout,3000)',這樣更有效率,因爲不需要進行運行時評估。 – Eric 2010-07-25 13:05:36
我在jsfiddle.net上試過了,它並沒有給出錯誤,但結果並不是我所期望的。我期望當我點擊#hour來隱藏文本,並且當onmouseout被觸發時等待5秒,然後 - 做檢查 – lam3r4370 2010-07-25 13:09:10