将 HTML 工具提示内容替换为 PHP/jQuery

Replacing HTML tooltip content with PHP/jQuery

所以,我有一个安装了模板 (Zoo) 的 WordPress 网站。我的问题是我希望整个网站都是法语的,并且该模板中有三个按钮,title 标签在一个 js 文件中进行了深入编码,该文件位于已集成到模板中的插件中。

这些是我作为 Web 开发人员(我来自 C++)的第一步,我很难理解文件中缺少的内容,但我通过环顾四周了解了一些事情。

所以我做了一个child主题。这是 functions.php 文件。我认为它工作正常,但这是为了防止我做错了:

<?php
function removethosedamntooltips(){
    wp_register_script('removetooltips', get_stylesheet_directory_uri() . '/js/removetooltips.js');
    wp_enqueue_script( 'removetooltips' );
}
add_action('wp_enqueue_scripts', 'removethosedamntooltips');

这是前面提到的 removetooltips.js 文件。我相信我必须调用按钮悬停,因为模板是 single-page 视差,并且我要修改的按钮在您单击另一个按钮之前不可见,该按钮允许另一个显示而无需将浏览器发送到另一个 URL (如果我删除第 2 行和随之而来的右括号,它无论如何都不起作用)。此外,这些工具提示仅在鼠标悬停时出现,所以这似乎是个好主意:

jQuery(document).ready(function(){
  alert("jQuery!!");
  jQuery("button").hover(function(){
    alert("jQuery!!");
    jQuery(".mfp-arrow-left").attr("title", "Précédent (flèche gauche)");
    jQuery(".mfp-arrow-right").attr("title", "Suivant (flèche droite)");
    jQuery(".mfp-close").attr("title", "Fermer (Esc)");
  });
});

第一个警告在页面加载后显示,但第二个不显示。工具提示(按钮标题)仍然以英文显示。

一条可能对解决这个问题有用的信息(我只花了 2 天时间阅读有关 JavaScript 和 jQuery 的内容,所以我真的不知道):我有使用 jQuery 而不是 $ 否则控制台会告诉我 $ 是一个未知函数。我是否需要以某种方式在我的文件中包含 jQuery 框架(如果需要,在何处以及如何?),尽管对 jQuery 库的调用已经出现在 header 中?

如果您提供的解决方案将删除工具提示而不是替换其内容,我将非常高兴。

提前致谢!

而不是使用 jQuery("button").hover(function(){...}); 您应该找到放置所有按钮的容器,或者只使用 body 并使用 jquery .on() 方法。据我所知它会起作用。 所以你的完整代码将是这样的

jQuery(document).ready(function(){
  alert("jQuery!!");
  jQuery("body").on("hover", "button", function(){
    jQuery(".mfp-arrow-left").attr("title", "Précédent (flèche gauche)");
    jQuery(".mfp-arrow-right").attr("title", "Suivant (flèche droite)");
    jQuery(".mfp-close").attr("title", "Fermer (Esc)");
  });
});

解释: 使用 .on() 方法也将事件与动态创建的元素绑定在一起。正如您在问题中提到的那样,只有单击另一个 button/link 才会创建按钮。

编辑: 测试了这个及其工作。我删除了第二个警报,因为有了它您将无法测试。