我的問題相當簡單,但令人困惑。 我通過使用.on()組合了「click」和「hover」,但該函數僅在點擊時觸發,而非懸停。jquery組合點擊和懸停功能只適用於點擊,不適用於懸停
JS:
var hoverElem = null;
$("table tbody tr td").on('click hover', function(e){
alert("TDDDDD!!!!");
});
HTML部分是一個簡單的HTML表格。
有誰知道爲什麼?
我的問題相當簡單,但令人困惑。 我通過使用.on()組合了「click」和「hover」,但該函數僅在點擊時觸發,而非懸停。jquery組合點擊和懸停功能只適用於點擊,不適用於懸停
JS:
var hoverElem = null;
$("table tbody tr td").on('click hover', function(e){
alert("TDDDDD!!!!");
});
HTML部分是一個簡單的HTML表格。
有誰知道爲什麼?
我認爲你必須使用'鼠標懸停'而不是'懸停',這在事件中沒有列出:http://api.jquery.com/Types/#Event。有一個單獨的懸停功能,但:http://api.jquery.com/hover/。
我不知道爲什麼當你把鼠標懸停在jQuery上時它不起作用,但如果你使用jQuery懸停,它可以工作。點擊下面的按鈕來運行代碼。
$(function() {
function my_function(e) {
alert("TDDDDD!!!!");
};
$("table tbody tr td").on('click', function(e) {
my_function(e);
})
.hover(function(e) {
my_function(e);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>test</td>
</tr>
</table>
有在同一on()
多個事件只是略有不同的語法的例子。
$("table tbody tr td").on({
click: function() {
alert("TDDDD!!");
},
hover: function() {
alert("TDDDD!!");
}
});
這已經重複的碼,所以只是創建一個函數:
alertFunc = function() {
alert("TDDDD!!!");
};
$("table tbody tr td").on({
click: alertFunc,
mouseover: alertFunc
});
查看在處理多個事件的例子:http://api.jquery.com/on/(查找:「實施例:將多個事件處理程序同時使用純對象「。)
由@SameeraThilakasiri指出的事件名稱是'mouseover' – cleaver 2014-10-02 03:38:50