我有一个看起来像这样的函数:
function reset_all_lightbox_assets()
{
$(document).one("click", function () {
$("#lightbox-asset-wrapdiv .category-asset-div-tileview").css({"background-color": "#f9f9f9"});
$("#lightbox-asset-wrapdiv .category-asset-table-td-category,#lightbox-asset-wrapdiv .category-asset-table-td-id").css("color", "#777777");
$("#lightbox-asset-wrapdiv .category-asset-table-td-name").css("color", "#999999");
});
}
调用此函数时,我希望能够单击一次文档并执行代码。
问题是,当调用该函数时,它还会立即检测到该单击。那么如何调用该函数以便单击变为启用但仅在我实际再次单击时执行?
答案 0 :(得分:0)
答案 1 :(得分:0)
在调用event.stopPropagation()
的点击处理程序中调用reset_all_lightbox_assets()
。
答案 2 :(得分:0)
代码
$(document).on("click", function () {
// First click do nothing
// Unbind old click listener
$(document).unbind('click');
// Now add your listener
$(document).on("click", function () {
$("#lightbox-asset-wrapdiv .category-asset-div-tileview").css({"background-color": "#f9f9f9"});
$("#lightbox-asset-wrapdiv .category-asset-table-td-category,#lightbox-asset-wrapdiv .category-asset-table-td-id").css("color", "#777777");
$("#lightbox-asset-wrapdiv .category-asset-table-td-name").css("color", "#999999");
});
// 2nd click listeners unbind
$(document).unbind('click');
});