首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单独的.js文件中重写javascript函数(在.cshtml文件中编写)

如何在单独的.js文件中重写javascript函数(在.cshtml文件中编写)
EN

Stack Overflow用户
提问于 2020-05-06 18:19:51
回答 1查看 62关注 0票数 0

这是我在.cshtml文件中的函数,我想在我的新.js文件中覆盖此函数,以便执行我在此函数中的.js文件中编写的任何代码,而不是.cshtml文件中写入的代码。

代码语言:javascript
复制
$("#assoc-search-popup").kendoButton({
  enable: true,
  click: function(e) {
    $.ajax({
      cache: false,
      type: "POST",
      url: "/Search/AssocLookup",
      data: {
        "lookupEntityName": lookupEntityName
      },
      success: function(data) {
        var lookup_popup = $("#lookup_popup_content");
        lookup_popup.html("");
        lookup_popup.html(data);

        $('.searchbar-toggle').click(function(e) {
          toggleFilterPane();
          if ($("#divButtons").hasClass("search-popup-btn_expand")) {
            $("#divButtons").removeClass("search-popup-btn_expand");
            $("#divButtons").addClass("search-popup-btm_collapse");
          } else if ($("#divButtons").hasClass("search-popup-btm_collapse")) {
            $("#divButtons").removeClass("search-popup-btm_collapse");
            $("#divButtons").addClass("search-popup-btn_expand");
          }
        });

        $("#btnSelectItem").attr("search-lookup-type", "inheritance");

        ifPopup("lookup_popup");
      }
    });
  });
});
代码语言:javascript
复制
<a id="assoc-search-popup1" style="display: inline-block;" 
href="javascript:void(0)" class="associate-and-inherit-link" 
data-associatedentityname="Logistics" 
data-associatedentityid="1E74AF39-6B99-4685-9C3F-5F47DB47A410" 
data-associationname="Logistics"
data- associatedmultiplicity="Many" 
data-inheritancepriority="2" 
data-associatedentitydisplayname="Logistics" 
data-hasviewpermission="true" 
data-metadata_display_name="Logistics" 
data-metadata_display_name_plaintext="Logistics" 
data-islookup="true"
data_lookupentityname="Logistics">
  <span>Logistics</span>
  <span class="inherit_details_add" style="float: right !important;"></span>
</a>
EN

回答 1

Stack Overflow用户

发布于 2020-05-06 18:30:30

最快的方法是在load之后和其他脚本之后执行此操作:

注意,在本例中,$clone.on()代码将是$clone.kendoButton()

代码语言:javascript
复制
$(function() { // after page load
  let $link = $("#assoc-search-popup1");
  let $clone = $link.clone(false, false); // without event handlers
  $clone.on("click", function() {
    alert("replaced event handler");
  });
  $link.replaceWith($clone);
})
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="container">
  <a id="assoc-search-popup1" style="display: inline-block;" href="javascript:void(0)" class="associate-and-inherit-link" data-associatedentityname="Logistics" data-associatedentityid="1E74AF39-6B99-4685-9C3F-5F47DB47A410" data-associationname="Logistics"
    data- associatedmultiplicity="Many" data-inheritancepriority="2" data-associatedentitydisplayname="Logistics" data-hasviewpermission="true" data-metadata_display_name="Logistics" data-metadata_display_name_plaintext="Logistics" data-islookup="true"
    data_lookupentityname="Logistics">
    <span>Logistics</span>
    <span class="inherit_details_add" style="float: right !important;"></span>
  </a>
  <script>
    $("#assoc-search-popup1").on("click", function() {
      alert("event handler to be replaced"); // your initial kendo button
    });
  </script>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61632745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档