gpt4 book ai didi

javascript - 如何在全局监听器上设置 javascript 属性,而无需重复代码

转载 作者:行者123 更新时间:2023-12-03 09:54:17 26 4
gpt4 key购买 nike

如果我的页面上有多个“.typeahead”输入字段,并且我希望每个字段都初始化 typehead(),那么如何在不重复代码的情况下为一个特定输入元素设置异常(exception)?例如:

我的领域:

<input type="text" class="typehead_selector" id="coworkers">
<input type="text" class="typehead_selector" id="jobs">
<input type="text" class="typehead_selector" id="search" data-action="search">

(最后一个是我想要调用 typeahead() 的字段,但 autoSelect 设置为 false。

我的脚本:

$(".typehead_selector").typeahead({
autoSelect: true, // all typehead initilization have autoSelect

updater: function (item) {
// logic here
}

// ... more logic stripped here
});

我的新脚本,对我来说似乎很脏?

$(".typehead_selector").each(function() { // added line

var auto_select = true; // added line
if($(this).data("action") == "search") { // added line
auto_select = false; // now my searchfield will not have autoSelect enabled, hooray. but still, isn't this messy code?
} // added line

$(this).typeahead({ // now listening on $(this) instead of $(".typehead_selector")
autoSelect: auto_select,

updater: function (item) {
// logic here
}

// ... more logic stripped here
});
});

问候,

迈克尔

最佳答案

使用这个

var options = {
autoSelect: true, // all typehead initilization have autoSelect

updater: function (item) {
// logic here
}

// ... more logic stripped here
}

$(".typehead_selector:not(#search)").typeahead(options);
options.autoSelect = false;
$("#seach").typeahead(options);

关于javascript - 如何在全局监听器上设置 javascript 属性,而无需重复代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30790260/

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