【问题标题】:Display popup when class elements are clicked using javascript使用 javascript 单击类元素​​时显示弹出窗口
【发布时间】:2019-10-23 12:34:51
【问题描述】:

所以我试图让这个代码在单击类元素​​时回显我的弹出窗口。我的 wordpress 文件的 head 部分中有代码,但它不起作用。有任何想法吗?

我什至试过移动变量,但仍然没有

    <?php

function popCash() {
$doit = "<script type='text/javascript'>
var wid = '111111';
var uid = '111111';
</script>
<script type='text/javascript' src='//cdn.popcash.net/pop.js'></script>";

echo $doit;
}
?>
<script type='text/javascript'>
$(document).ready(function(){
    $('.post-thumbnail, .thumb-block, .display-img').click(function(){

        var <?php echo popCash;?>

        });
    });
</script>

我需要它在单击类元素​​时显示弹出窗口

【问题讨论】:

  • echo 是 PHP 语句,而不是 JS,不会按您期望的方式工作。如果您描述了您要解决的问题,您将获得更有建设性的帮助,因为我可以向您保证有更好的方法来解决此问题
  • 我要解决的问题是让 var popCash 在单击以下类元素时执行:.post-thumbnail、.thumb-block、.display-img

标签: javascript jquery wordpress onclick echo


【解决方案1】:

根据你想要的结果,你需要使用console.log(popCash)alert(popCash),而不是echo,这不是有效的JavaScript。

评论后跟进:

如果您尝试执行该脚本,它更像是您正在寻找的document.write(popCash),但这不是完成您想要做的事情的一种非常有效的方式,因为您会每次点击时都会加载该脚本,并在每次点击时累积额外的 &lt;script&gt; 元素。

一方面,您似乎正在使用脚本为全局变量widuid 赋值。绝对没有充分的理由为此创建一个新脚本。只需直接分配变量:

<script type='text/javascript'>
var wid;
var uid;

$(document).ready(function(){
    $('.post-thumbnail, .thumb-block, .display-img').click(function(){

    wid = '111111';
    uid = '111111';

    var popCash = "<script type='text/javascript' src='//cdn.popcash.net/pop.js'>\n"+
                "<\/script>";
        document.write(popCash);
    });
});
</script>

但是问题变成了:“为什么每次点击都重新加载‘cdn.popcash.net’?”

脚本里面不是有一个方法可以在需要再次调用的时候调用吗?

即使脚本写得如此糟糕以至于每次调用都必须从顶部运行(这是一个糟糕的 API!),您至少可以动态创建和删除脚本标签来完成这项工作,而不是使用 @987654329 @,但这需要更多解释才能描述。

【讨论】:

  • 我只希望在单击类元素​​时执行变量中的脚本。
  • 我在上面贴了一个后续。
  • 基本上,当点击屏幕上的任何地方时,谷歌一直在打击弹出窗口。所以,我只是想在单击某些类(特别是图像)时执行弹出窗口。我只希望它为每个用户执行一次脚本。不是每次点击它时。我将发布我的新代码(仍然不起作用),但我尝试将弹出脚本放在 php 中并在 javascript 中调用它。
  • 如果你想看一下,我已经编辑了我的代码:)
  • var &lt;?php echo popCash;?&gt; 没有任何意义。您有一个名为 popCash 的 PHP 函数,它需要括号才能调用,但即使您正确调用它,它产生的输出在 JavaScript 中 var 之后也不会产生任何语法意义。只有 document.write()document.createElement('script') 将允许 JavaScript 引入新的 JavaScript。
猜你喜欢
  • 2015-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-26
  • 1970-01-01
  • 2019-12-04
  • 2015-04-19
相关资源
最近更新 更多