2017-07-25 114 views
3

我想從我將鼠標放在它上面的單詞中進行自動翻譯。我用在jquery中懸停()的懸停詞嗎?

$('p').hover(function() { 
    var hoveredWord = $(this).text(); 
    translate(hoveredWord, 'en'); // function to translate a word to English Language 
}); 

它將段落內返回整個文本,但是,我只想說我整個文本懸停不發一言。我可以使用Jquery中的任何函數來歸檔這個?謝謝。

+2

這可能是一個有點矯枉過正,但你可以把每個單詞在'p'在它自己的範圍,如:'

快速狐狸

'。然後你可以把'hover'加到'span'中。 – Halcyon

+0

在這種情況下,你必須將你的每個單詞包裹在span/label標籤中。所以你將能夠執行該事件 –

+0

'hover'是'jquery'中'mouseover'和'mouseout'事件的組合,因此如果你將鼠標懸停在段落上,它將返回所有段落 –

回答

4

我會以不同的方式做。我想包使用<span>所有文本內容:

$(function() { 
 
    $('p').html(function() { 
 
    var cont = []; 
 
    return "<span>" + $(this).text().split(" ").join("</span> <span>") + "</span>"; 
 
    }).on("mouseover", "span", function() { 
 
    var hoveredWord = $(this).text(); 
 
    console.log(hoveredWord); 
 
    // translate(hoveredWord, 'en'); // function to translate a word to English Language 
 
    }); 
 
});
span:hover {background: #ccf;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p>Hello, World! How are you?</p>

而且我不會使用hover功能。這是不可靠的和不贊成的。