Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中交替单击时调用弹出窗口?_Javascript - Fatal编程技术网

如何在javascript中交替单击时调用弹出窗口?

如何在javascript中交替单击时调用弹出窗口?,javascript,Javascript,嗯,我一直在尝试让交替点击弹出一个新窗口。也就是说,如果用户单击第一次单击不会调用任何弹出窗口,那么每隔一秒单击、第四次单击、第六次单击都会调用弹出窗口。这是我尝试过的代码,但它不起作用 jQuery(document).ready(function( $ ){ var canClick = 2; $("body").click(function () { if (canClick%2=0) { window.open("https://ex

嗯,我一直在尝试让交替点击弹出一个新窗口。也就是说,如果用户单击第一次单击不会调用任何弹出窗口,那么每隔一秒单击、第四次单击、第六次单击都会调用弹出窗口。这是我尝试过的代码,但它不起作用

jQuery(document).ready(function( $ ){
var canClick = 2;
$("body").click(function () {
    if (canClick%2=0) {
        window.open("https://example.com").blur();
        window.focus();}
        canClick = canClick+1;
   });
});

当您尝试将
计数%2
与此行中的
0
进行比较时

if (canClick % 2 = 0)
。。。您使用的是分配值的
=
,不进行比较。相比之下,您可以在此处正确使用
=
运算符:

canClick = canClick + 1
要实际比较等式,有两个相关运算符:

  • =
    测试“软相等”,其中
    1==1
    1==“1”

  • ==
    还测试类型是否相等,因此
    1===1
    但是
    1!==“1”
    (因为它们的类型是
    number
    string

您几乎总是想使用
=
。这将是您的
条件的工作版本,如果
条件:

if (canClick % 2 === 0) { ... }

不关注解决方案:
函数($){
看起来很奇怪。我认为美元符号不需要在那里?
=
是赋值运算符。
==
是相等运算符。感谢您提供此代码片段,它可能会提供一些有限的、即时的帮助。通过说明为什么这是一个很好的问题解决方案,A将大大提高其长期价值,并将请编辑您的答案,添加一些解释,包括您所做的假设。@Syscall,这是一个直截了当的问题和答案,
if (canClick % 2 === 0) { ... }