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

时间:2015-09-21 16:40:43

标签: php jquery wordpress tooltip

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

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

所以我做了一个儿童主题。这是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文件。我相信我必须要求一个按钮悬停,因为模板是单页面视差,我想要修改的按钮是不可见的,直到你点击另一个按钮允许另一个显示而不将浏览器发送到另一个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)");
  });
});

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

一条可能对解决这个问题有用的信息(我只读了两天关于JavaScript和jQuery的东西,所以我真的不知道):我不得不使用jQuery代替{ {1}}或控制台会告诉我$是一个未知函数。我是否需要以某种方式在我的文件中包含jQuery框架(如果是,在何处以及如何?),尽管调用jQuery库已经显示在标题中了?

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

提前谢谢!

1 个答案:

答案 0 :(得分:0)

而不是使用 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()方法也可以使用动态创建的元素绑定事件。正如您在问题中提到的那样,在单击另一个按钮/链接之前不会创建按钮。

修改:对此进行了测试及其工作情况。我已经删除了第二个提醒,因为您无法进行测试。