工具提示和语法高亮显示器正在自行开发,但是当我把我想要突出显示的代码放在pre标签中时。只有语法高亮显示工作和工具提示不。 我尝试了SyntaxHighlighter js.Highlighter .Tooltip仍无效。我正在使用simpletooltip中的工具提示 任何人都可以指导我做什么?我应该更改工具提示还是应该更改语法突出显示。我应该使用哪个工具提示或语法高亮?
<pre><code class = "python">
<p id = "filecontents" class="word_split">False None True False go the way False</p>
</code></pre>
$(document).ready(function(){
$(".word_split").lettering('words');
$('.word_split').mouseover(function(event) {
var word=event.target.innerHTML;
if (word == "False")
showToolTip('False','False keyword',event);
$('.word_split').mouseout(function(event) {
var word=event.target.innerHTML;
if (word == "False")
hideToolTip();
});
});
});
我正在使用letteringplugin来检测单词。每当鼠标悬停在单词False上时,它应该是描述。
答案 0 :(得分:0)
听起来像命名冲突。请阅读.noConflict()
。 http://api.jquery.com/jQuery.noConflict/这是因为两者都在使用$符号。你需要使用像jQuery或其他任何别名,所以一个库不会与另一个库冲突。当使用库时,这必然会发生。熟悉noConflict而不仅仅是切换lib是个好主意。
修改强>
相当多的代码错误和建议的改进。
首先,您的})
鼠标悬停位于代码块的末尾,而不是鼠标悬停结束时。基本上你的鼠标在你的mourseover内。
当您分割单词时,您创建了子span
标记,因此鼠标悬停选择器需要检查这些标记。
第三,你的if语句没有{}
。这意味着如果你在if中输入了超过1行代码,它就会破坏(不是错误,而不是最佳实践)。
第四,因为你正在使用Jquery为什么不使用$(this)
得到这个词?
最后,在比较字符串时,您可能不知道它是“假”还是“假”,并且案例很重要,因此将其转换为小写并比较最佳结果,除非您故意只想要假。
$(document).ready(function(){
$("#demo2 h1").lettering('words');
$('.word_split span').mouseover(function(event) {
var word = $(this).text().toLowerCase();
if (word == "False".toLowerCase()){
showToolTip('False','False keyword',event);
}
});
$('.word_split span').mouseout(function(event) {
var word=$(this).text().toLowerCase();
if (word == "False".toLowerCase()){
hideToolTip();
}
});
});
答案 1 :(得分:0)
我使用了不同的工具提示(Qtip)来解决问题。