2011-07-22 116 views
0
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Untitled Document</title> 
<script src="jquery-1.6.2.js"></script> 
<script> 
$("#test").live("click", function(){ 
    alert('');   
}); 
$("#tbl").live("mouseover",function(){ 
    $("#title").html('<input id="test" type="button" value="test button" />'); 
}); 
$("#tbl").live("mouseleave",function(){ 
    $("#title").html(''); 
}); 

</script> 

</head> 
<body> 
<table id='tbl' width="200" border="1"> 
    <tr> 
    <td id="title">&nbsp;</td> 
    </tr> 
    <tr> 
    <td id="content">&nbsp;</td> 
    </tr> 
</table> 
</body> 
</html> 

$(「#test」)。live(「click」...)不起作用,但如果我改變鼠標懸停它的作品。 任何人都可以提供幫助嗎?jquery:鼠標懸停工作,但點擊不會'工作

感謝, 程

回答

0

你的問題是,你使用的是mouseover而不是mouseenter。我有一個工作示例here

+0

不錯!非常感謝! – cheng

+0

是的,每當你移動或點擊導致按鈕一遍又一遍地被替換的鼠標時,mouseover事件被觸發。 –

0

程:

只是一個嘗試,但嘗試把 ';'在您的報表的兩端:

$("#test").live("click", function(){ 
    alert(); 
}); 
$("#tbl").live("mouseover",function(){ 
    $("#title").html('<input id="test" type="button" value="test button" />'); 
}); 
$("#tbl").live("mouseleave",function(){ 
    $("#title").html(''); 
}); 
+0

不起作用。但感謝 – cheng

+1

用'alert('')替換'alert();'並且它可以工作 – Tomm

+0

在某些情況下(如單行函數),你不需要分號,這就是其中之一。 – Fred

0

問題alert()不喜歡這個工作。只是這樣做alert('');

+0

同樣的事情,它適用於mouseover事件,但不能點擊 – cheng

0

你只需要在alert('Something')聲明中放置一個字符串。

我有一個工作示例here (jsFiddle)

0

嘗試更換警報()通知( 「任何」); 這只是在我的電腦上正常工作。

1

使用mouseenter instessd mouseover,和@davecoulter說的那樣「;」在statments結束,

$("#test").live("click", function(){ 
     alert(); 
    }); 
    $("#tbl").live("mouseenter",function(){ 
     $("#title").html('<input id="test" type="button" value="test button" />'); 
    }); 
    $("#tbl").live("mouseleave",function(){ 
     $("#title").html(''); 
    }); 

這裏是的jsfiddle http://jsfiddle.net/Z2ZYs/1/

+0

並將'alert();'改爲'alert('');'! – Fred

+0

沒有它,它會跟我一起走,但它會說未開封 –