Javascript 重新加载脚本文件是一种好做法吗?
我正在使用Javascript 重新加载脚本文件是一种好做法吗?,javascript,html,typeahead.js,Javascript,Html,Typeahead.js,我正在使用typeahead.js插件,该插件可用于向HTML输入框添加自动完成功能 因此,如果加载脚本并执行以下操作 <input class="typeahead" type="text" id="partNumberInput" aria-describedby="enter Part Number" placeholder="Part Number"> 该脚本将使用类typeahead查找所有DOM元素,并添加一组父元素,并执行一些其他有助于提供自动完成功能的操作 现
typeahead.js
插件,该插件可用于向HTML输入框添加自动完成功能
因此,如果加载脚本并执行以下操作
<input class="typeahead" type="text" id="partNumberInput" aria-describedby="enter Part Number" placeholder="Part Number">
该脚本将使用类typeahead
查找所有DOM元素,并添加一组父元素,并执行一些其他有助于提供自动完成功能的操作
现在,我想使用带有typeahead
类的javascript append动态添加输入框。由于typeahead
在页面开始加载时只运行一次,因此无法完成我前面提到的所有工作
在这种情况下,每次用户单击按钮添加另一个带有typeahead
class的输入框时,我都会重新加载脚本吗 中的第一个示例演示了如何对页面中的任何元素调用typeahead
您可以使用任何想要的类对目标元素调用typeahead,而不是依赖于在元素上放置特定的类以便typeahead检测它们
例如,如果您有一个动态放置到DOM中的全新元素,并且它具有类which
,则可以通过执行以下操作在该元素上加载typeahead:
$('.whatever')。提前键入({
//你的选择在这里
}, {
//更多选项请参见示例
})
您可能希望重新加载脚本标记本身;这可能会对您的应用程序产生意外(潜在有害)影响
一般来说,
$('.whatever').typeahead(…)
是您通常调用任何jQuery插件的方式,以便在选择器指定的元素上使用该插件进行操作。检查文档,看看是否有方法告诉它重新初始化自身。无需重新加载脚本,只需对新元素调用.typeahead()
。这意味着这个问题没有意义。我在typeahead.js文档中没有看到任何关于class=“typeahead”