Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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_Jquery_Xhtml - Fatal编程技术网

Javascript 在每个返回的点击中插入保存变量

Javascript 在每个返回的点击中插入保存变量,javascript,jquery,xhtml,Javascript,Jquery,Xhtml,你们介意看看我为帮助你们理解我的问题而制作的JSFIDLE吗 (函数($){ $.fn.liveBindTest=函数(){ 返回此['live']('click',function()){ var-savedvar; 如果(!savedvar | | savedvar==0){ //是虚假的,做虚假的事情。 savedvar=1; jQuery('#result').append(savedvar); }否则{ //是真的,做真实的事情。 jQuery('#result').append(

你们介意看看我为帮助你们理解我的问题而制作的JSFIDLE吗


(函数($){ $.fn.liveBindTest=函数(){ 返回此['live']('click',function()){ var-savedvar; 如果(!savedvar | | savedvar==0){ //是虚假的,做虚假的事情。 savedvar=1; jQuery('#result').append(savedvar); }否则{ //是真的,做真实的事情。 jQuery('#result').append(savedvar); savedvar=0; } 返回false; }); }; })(jQuery); jQuery(文档).ready(函数(){ $('a.cref').liveBindTest(); });

我想为每次单击保存一个变量。

您在事件处理程序中声明了变量,为每个处理程序创建了一个单独的局部变量

您需要在函数外部声明变量。

如果您希望每个元素都有一个单独的变量,那么可以在
每次调用中声明变量并添加处理程序,或者使用jQuery的
.data
函数。

您在事件处理程序中声明了变量,为每个处理程序创建了一个单独的局部变量

您需要在函数外部声明变量。
如果您希望每个元素都有一个单独的变量,那么可以在
每次调用中声明变量并添加处理程序,或者使用jQuery的
.data
函数。

查看

是否要切换要执行的代码位?如果希望在闭包中保存该值,则需要在live事件处理程序函数之外声明它

如果需要为选择器匹配的每个元素保留该值,则可以使用
$(elem).data()
存储如下所示的值

查看

是否要切换要执行的代码位?如果希望在闭包中保存该值,则需要在live事件处理程序函数之外声明它


如果需要为选择器匹配的每个元素保留该值,那么可以使用
$(elem).data()
来存储该值,如下所示

您还没有设置
test
变量。为什么不编写
this.live(…)
?您还没有设置
test
变量。为什么不编写
this.live(…)
?savedvar对于每个变量都必须是独立的。在这种情况下,请将其保存在
$.cache
使用
$(elem)。data()
保存的dvar对于每个变量都必须是独立的。在这种情况下,请将其保存在
$.cache
使用
$(elem)。data()
@kr1zmo:很好,尽管你应该写
这个.live(…)
@kr1zmo:很好,尽管你应该写
这个.live(…)
<a href="#" class="cref">item</a>
<a href="#" class="cref">item 2</a>
<a href="#" class="cref">item 3</a>
<a href="#" class="cref">item 4</a>

<p id="result"></p>


<script language="javascript" type="text/javascript">
(function($) {
    $.fn.liveBindTest = function() {
        return this['live']('click', function() {
            var savedvar;

            if (!savedvar || savedvar == 0) {
                // is false, do false things.
                savedvar = 1;
                jQuery('#result').append(savedvar);
            } else {
                // is true, do true things.
                jQuery('#result').append(savedvar);
                savedvar = 0;
            }

            return false;
        });
    };
})(jQuery);

jQuery(document).ready(function() {
    $('a.cref').liveBindTest();
});
</script>