如何在 mvc4 中的页面加载时呈现任何事件函数



在选择标签中,有一个函数loadTags()onclick事件时调用。我正在使用 mvc4 并希望用_layout.cshtml即共享视图调用它:

<div class="left-menu">
    <select id="tid" name="tags" onclick="loadTags()" >
        <option value="tags">--Tags--</option>
     </select>
</div>

我应该如何在页面加载时调用此函数。这是loadTags()函数

function loadTags() {
    $("#tid option").remove();
    var d = $("#tid").val();
    var str = "--Tags--";
    $.post("/Status/allTags", function (data) {
        $("#tid").append('<option>' + str + '</option>');
        $.each(data, function (i, item) {
            $("#tid").append('<option value=' + i + '>' + item + '</option>');
        });
    }, "json");
}

只用jQuery?

$(function() {
    loadTags();
});

在调用这行代码之前,请确保已加载 jQuery。

我不认为在用户单击元素时加载标签是一种好方法。例如,当用户使用 Tab 键导航到此元素时,标签将不会加载。

另外,如果您在页面加载时加载标签,通过 AJAX 加载它们是否仍然有意义?您不能将它们包含在页面本身中吗?

将代码放入document.ready函数中:

$(document).ready(function () {
    loadTags();
});

或更短:

$(function () {
    loadTags();
});

甚至更短:

$(loadTags);

杰菲德尔

.ready()

虽然 JavaScript 提供了用于执行代码的 load 事件,但 页面呈现,直到所有资产才会触发此事件 如图像已被完全接收。在大多数情况下, 脚本可以在 DOM 层次结构完全运行后立即运行 构建。传递给 .ready(( 的处理程序保证是 在 DOM 准备就绪后执行,因此这通常是最好的位置 附加所有其他事件处理程序并运行其他 jQuery 代码。使用时 依赖于 CSS 样式属性值的脚本,这很重要 引用外部样式表或在之前嵌入样式元素 引用脚本。

最新更新