javascript - 为什么元素上的 load()、on()、bind() 等不可用

标签 javascript jquery .net-core razor-pages

我最近从 WPF 迁移到 Razor 页面(单页应用程序,而不是 MVC Razor View ),并且无法访问元素上的函数。

在我的部分 View 中(crews.cshtml)

@page
@model CrewsModel
<body>
    <div class="container">
        <div class="row>">
            <button class="btn btn-primary" id="clickyButton">refresh</button>
            <p id="timeDisplays" class="row">                
                <partial name="Controls/DateTimeDisplayControl" , model="3/1/2019" />
            </p>
        </div>        
    </div>

</body>
<script src="~/lib/jquery/dist/jquery.js" type="text/javascript"></script>
<script>
      var element = document.getElementById("timeDisplays");
      console.log(element.className);
      element.load("/DateTimeComponent?handler=DisplayTimePartial");
      console.log("Reloaded");
</script>

我能够将 element.className 写入控制台。但是,当我调用加载(或“on”或“bind”)函数时,我得到:

TypeError: element.load is not a function

我也尝试过:

element.on("load","/DateTimeComponent?handler=DisplayTimePartial");

为了进行测试,我将函数主体替换为:


            if (typeof jQuery != 'undefined')
            {
                // jQuery is loaded => print the version
                alert(jQuery.fn.jquery);
            }

确保 jQuery 已加载且版本正确。

最终目标是按需重新加载“timeDisplays”div 中的部分页面 View 。

我正在使用.net core 2.2和jquery 3.3.1

最佳答案

您没有使用 jQuery api 加载方法,而是使用浏览器 api,它没有加载方法 所以你可以这样做:

script>
      var element = $("#timeDisplays");
      element.load("/DateTimeComponent?handler=DisplayTimePartial");
      console.log("Reloaded");
</script>

请告诉我这是否适合您。

关于javascript - 为什么元素上的 load()、on()、bind() 等不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56116907/

相关文章:

c# - docker : "npm not found"

java - 通过java代码生成javascript时<a>标签问题

php - Pusher 应用程序事件未触发

javascript - Ajax文件上传进度

javascript - 在 Ruby on Rails 中使用 JQuery 更改图像

c# - 具有继承的列顺序 EF Core

javascript - 带有固定顶部菜单的翻转菜单

javascript - 每列的表格动态宽度

javascript - HTML 上的扩展部分

mysql - 无法在 .NET Core 上使用 MiniProfiler 分析 MySQL