重新加载脚本文件是一种好习惯吗?
Is it a good practice to reload script files?
我正在使用 typeahead.js
插件,可用于向 HTML 输入框添加自动完成功能。
因此,如果您加载脚本并执行
<input class="typeahead" type="text" id="partNumberInput" aria-describedby="enter Part Number" placeholder="Part Number">
该脚本将查找所有具有 class typeahead
的 DOM 元素并添加一堆父元素并执行一些其他有助于提供自动完成功能的操作。
现在,我想使用 javascript 附加 typeahead
的 class 动态添加输入框。由于 typeahead
仅在页面开始加载时运行一次,因此它无法执行我之前提到的所有内容。
这是不是每次用户点击按钮添加另一个带有typeahead
class的输入框时我都重新加载脚本的场景?
the examples 中的第一个示例展示了如何在页面中的任何元素上调用 typeahead。
与其依赖于在您的元素上放置特定的 class 以便 typeahead 检测到它们,您可以使用您想要的任何 class 在您的目标元素上调用 typeahead。
例如,如果您有一个动态放入 DOM 的全新元素,并且它具有 class whatever
,那么您可以在该元素上加载 typeahead通过做:
$('.whatever').typeahead({
// your options here
}, {
// more options here, see examples
})
您可能想要重新加载脚本标签本身;这可能会对您的应用产生意想不到的(可能有害的)影响。
通常,$('.whatever').typeahead(...)
形式是您通常调用任何 jQuery 插件的方式,以便使用该插件对选择器指定的元素进行操作。
我正在使用 typeahead.js
插件,可用于向 HTML 输入框添加自动完成功能。
因此,如果您加载脚本并执行
<input class="typeahead" type="text" id="partNumberInput" aria-describedby="enter Part Number" placeholder="Part Number">
该脚本将查找所有具有 class typeahead
的 DOM 元素并添加一堆父元素并执行一些其他有助于提供自动完成功能的操作。
现在,我想使用 javascript 附加 typeahead
的 class 动态添加输入框。由于 typeahead
仅在页面开始加载时运行一次,因此它无法执行我之前提到的所有内容。
这是不是每次用户点击按钮添加另一个带有typeahead
class的输入框时我都重新加载脚本的场景?
the examples 中的第一个示例展示了如何在页面中的任何元素上调用 typeahead。
与其依赖于在您的元素上放置特定的 class 以便 typeahead 检测到它们,您可以使用您想要的任何 class 在您的目标元素上调用 typeahead。
例如,如果您有一个动态放入 DOM 的全新元素,并且它具有 class whatever
,那么您可以在该元素上加载 typeahead通过做:
$('.whatever').typeahead({
// your options here
}, {
// more options here, see examples
})
您可能想要重新加载脚本标签本身;这可能会对您的应用产生意想不到的(可能有害的)影响。
通常,$('.whatever').typeahead(...)
形式是您通常调用任何 jQuery 插件的方式,以便使用该插件对选择器指定的元素进行操作。