我正在开发一个网站,允许用户通过内联“窗口”在同一个浏览器窗口中打开相同内容的多个页面。
由于内容可以重复多次,因此 id 可以是相同的,因此我必须分别“处理”它们,以便区分这些页面。
我目前通过在加载时为脚本分配一个唯一的 id 来做到这一点,如下所示:
var id_key;
function load_page() {
id_key++;
load_script("test.js") //load javascript file
}
//test.js:
$(function () {
var unique_id = id_key;
//adds the `unique id ` to the end of all elements with an id attribute set. ie `mycontainer` becomes `mycontainer_1`
update_ids(unique_id);
$("#mybtn_ " + unique_id).click(function () {
//do stuff
});
}
这在大多数情况下都可以正常工作,但是如果多个页面加载速度过快,ID 往往会被覆盖,从而导致混淆和错误。
我想知道这样做是否有更好的技术。我听说过backbone.js,但我不确定这在这种情况下是否有用。