gpt4 book ai didi

javascript - 插入这个条件语句最优雅的方式是什么?

转载 作者:行者123 更新时间:2023-11-28 12:46:53 25 4
gpt4 key购买 nike

我想传递一个变量,通过单击或通过悬停来触发此方法。

现在,它默认为点击。

    var defaults = {    
xOffset: 10,
yOffset: 25,
tooltipId: "easyTooltip",
clickRemove: true,
content: "",
useElement: "",
clickAppear: true
};

var options = $.extend(defaults, options);
var content;

$(this).click(function(e){
$("#" + options.tooltipId).remove();
content = (options.content != "") ? options.content : title;
content = (options.useElement != "") ? $("#" + options.useElement).html() : content;
$(this).attr("title","");
if (content != "" && content != undefined){
$("body").append("<div id='"+ options.tooltipId +"'>"+ content +"</div>");
$("#" + options.tooltipId)
.css("position","absolute")
.css("top",(e.pageY - options.yOffset) + "px")
.css("left",(e.pageX + options.xOffset) + "px")
.css("display","none")
.fadeIn("fast");
return false;
}
},

我希望它能够传递 clickAppear = false 的方法调用,在这种情况下,它会生成以下内容:

$(this).hover(function(e){
...

我想知道是否有一种优雅的方法来编写这个条件,同时保持 block 干燥,而不是在条件中复制并粘贴整个方法两次(这似乎不起作用)。

有什么想法吗?

最佳答案

那么你可以写:

$(this)[options.clickAppear ? "click" : "hover"](function(e) {
// your code
});

这只是检查选项并选择“点击”或“悬停”功能,然后调用它。

关于javascript - 插入这个条件语句最优雅的方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6776885/

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