gpt4 book ai didi

javascript - 将 jquery 选项与 $.fn 一起使用会导致错误

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

在我的插件 (jquery) 的一部分中,我将 CSS 规则添加到一个元素。这是代码:

tagSet.eq(index).css({
options.tag_direction : (xy[0]+"px "+strictCSS),
"position" : ("relative"+" "+strictCSS),

"top" : (xy[1]+"px "+strictCSS),
})

但是,如果我用 options.get_direction_hor 替换“left”,它就会出错。这是错误:

SyntaxError: missing : after property id


options.tag_direction_hor : (xy[0]+"px "+strictCSS),

我这样做是因为我希望用户(开发人员)能够使用具有“左”或“右”css 规则的插件,以避免破解源代码。

我还有一个 console.log(options.get_direction_hor) 并且输出正确。我在这里缺少关于 javascript 对象的任何内容吗?

这是选项签名:

$.fn.mtTagger = function(options){
var options = $.extend({
tag_class : ".mtTagElement", //
tag_before_callback : null, // a callback to gets fired when the pages(or section) loads
tag_htmlTag : "span", // HTML elements to be selected as children
tag_limit_to_class : false, // if true, then the selection is $(element.class) than it was $(element) if false
tag_mouse_in_callback : null, // a callback to gets fired when the mouse moves enters
tag_mouse_out_callback : null, // a callback to gets fired when the mouse moves leaves
tag_strict_css : false, // if true, then !important will be appened to the end of each CSS rule
tag_direction_hor : null
}, options)

最佳答案

您的语法不正确。对象文字定义不能像您尝试提供的那样包含动态键 options.tag_direction。相反,您可以将其分为两部分:

var styles = {
position: "relative" + " " + strictCSS,
top: xy[1] + "px " + strictCSS
};
styles[options.tag_direction] = xy[0] + "px " + strictCSS;
tagSet.eq(index).css(styles);

还记得清除最后一个对象属性后的尾随逗号(在旧 IE 中会中断)。

关于javascript - 将 jquery 选项与 $.fn 一起使用会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22715576/

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