gpt4 book ai didi

jquery - 将传递对您正在使用 .bind 的对象的引用会导致循环引用

转载 作者:行者123 更新时间:2023-12-01 05:04:23 25 4
gpt4 key购买 nike

我有一个 jQuery 对象,我正在使用 .bind() 方法将事件分配给该对象。不过,我还将对象本身的引用传递给绑定(bind)方法,如下所示:

$( document ).ready(function ()
{
// Grab the jQuery version of the DOM element.
var $formField1 = $( "#form-field-1" );
// I should probably store this stuff in $formField1.data(),
// but not until I find out if this can cause a circular reference.
var formFields = {
"jQ": $formField1,
"$comment": $( "#form-field-1-comment" ),
"commentAnswers": [ 2, 4 ]
};
// Set up the comment to show when a certain answer is given.
this.jQ.bind( "change", formFields, toggleComment );
});

function toggleComment( p_event )
{
// Show/hide comments based on the answer in the commentAnswers array.
if ( $.inArray($(this).val(), question.commentAnswers) > -1 )
{
question.$comment.parent().slideDown();
}
else
{
question.$comment.parent().slideUp();
}
}

我想知道这是否“实际上”会导致循环引用?

最佳答案

这不是循环引用,但它是多余的。触发事件的对象将通过事件处理程序内的 this 可用。没有必要传入它。

但是,重要的是要认识到,设置时传递到 bind 的数据是静态的。然而,事件处理程序内的 this 将始终存储触发事件的特定对象。这两个对象可能相同,也可能不同,具体取决于 bind 的应用范围。

关于jquery - 将传递对您正在使用 .bind 的对象的引用会导致循环引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7152197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com