0

使用 Tooltipster,我想使用从设置为 js 2D 数组的英语/泰语词汇表中选择的单词填充工具提示。目的是作为一个英语单词的工具提示,它将用于访问和显示配对的泰语单词。所有这些都在一个模态对话框中。这是html:

    <div id="modal_text">       
    <p id="modal_text01">The <span class="tooltip">boy</span>&#xa0;is&#xa0;<span class="tooltip">walking</span><span>&#xa0;</span><span class="tooltip" >home</span></p>

这是js代码(数组设置为全局变量)

    var eng_thai_glossary=[["the","คำนำหน้านามเจาะจง"], ["and","และ"], ...   ["dependent","ซึ่งพึ่งพา ผู้อาศัย"]];
    jQuery(document).ready(function () {
        "use strict";
        var modalIndex = "";
        var ws_dlog =  jQuery("div#ws_dialog").dialog({
        ...  /* dialog setup */
        jQuery("span.ws_dialog_icon").on("click",function(evnt) {
        evnt.stopPropagation();
        ws_dlog.dialog("open");
        jQuery("#ui-dialog-title-dialog").hide();
        jQuery(".ui-dialog-titlebar").removeClass('ui-widget-header');
        var elementId = evnt.target.id;
          modalIndex = elementId.substr(7);
        var  modalId = "modal_text" + modalIndex,
          modalText = document.getElementById(modalId).innerHTML;
        var ws_modal_html = '<div class = "ws_dialog_box"><p class = "ws_dialog_text">Here is the word in a sentence</p><p class="ws_dialog_thai">คำในประโยค</p><p class = "ws_dialog_sentence"></p><p><span class="fa fa-volume-up fa_volume_ws"></span></p></div>';
        ws_dlog.html(ws_modal_html);
        jQuery("div.ws_dialog_box p.ws_dialog_sentence").append(modalText);

        jQuery('span.tooltip').tooltipster({
          functionAfter: function(evnt) {
            var eng_word = jQuery(this).evnt.innerHTML,
            thai_word = "";
            for( var i=0; i<eng_thai_glossary.length; i++) {
              if(eng_thai_glossary[i][0] === eng_word)  {
                thai_word = eng_thai_glossary[i][1];
                return thai_word;
              }
            }
          }
        });
      });
      ...  /* audio code  */
    });  

Firebug 显示“tooltipstered”类被添加到 html 中,表明 Tooltipster 正在初始化。我有点迷失了这一点。我不确定 functionAfter 是否是正确的方法,或者任何其他代码。任何建议都将受到欢迎

4

1 回答 1

0

好的,这是我针对上述问题得出的解决方案。很标准的东西,我猜。toLowerCase 方法涵盖了将句子的第一个字符大写的英语约定。

    jQuery('span.tooltip').tooltipster({
      functionBefore: function(origin, continueTooltip)  {
        var eng_word = jQuery(origin).text().toLowerCase(),
        thai_word = "",
        gloss_length = eng_thai_glossary.length;
        for(var i=0; i<gloss_length; i++){
          if(eng_thai_glossary[i][0] === eng_word)  {
            thai_word = eng_thai_glossary[i][1];
            break;
          }
        }
        origin.tooltipster( "content",  thai_word);
        continueTooltip();
       }
    });
于 2014-11-26T00:42:26.403 回答