javascript - $(this) 在我的 jQuery 点击函数中不起作用

标签 javascript jquery

当单击我的函数时,我想更改具有此函数元素的父元素。但是 $(this) 不起作用。

怎么了?

function accountConfirm(message, title, yes_label, no_label, callback) {
    console.log($(this));
    $("#accountConfirmModal").attr('data-confirm-yes', false);
    if ($("#accountConfirm").length == 0) {
        .....
    }

    $("#accountConfirmModal .content p").html(message || "");
};

也就是HTML元素

<button type="button" id="deleteScrollTop" class="btn btn-delete"
                                        onclick="accountConfirm(jsResources.addressDeleteQuestion,jsResources.addressDeleteTitle, jsResources.yes,jsResources.no ,function(res){
                                            if(res){
                                                window.location.href = '@(Url.RouteUrl("CustomerAddressDelete", new {addressId = address.Id}))'
                                            }
                                        })">
                                    <img src="@Url.ThemeFolderUrl("_images/delete.png")" alt="delete address" />
                                </button>

最佳答案

你可能打算这样做

如果您使用 jQuery 而不是使用内联事件处理程序,那么合并 jQuery 总是一个好主意

假设按钮ID是唯一的

function accountConfirm(message, title, yes_label, no_label, callback) {
  $("#accountConfirmModal").attr('data-confirm-yes', false);
  if ($("#accountConfirm").length == 0) {
    .....
  }

  $("#accountConfirmModal .content p").html(message || "");
};

const route = function(res) {
  if (res) {
    window.location.href = '@(Url.RouteUrl("CustomerAddressDelete", new {addressId = address.Id}))'
  }
}
$("#deleteScrollTop").on("click", function() {
  console.log($(this));
  accountConfirm(jsResources.addressDeleteQuestion,
    jsResources.addressDeleteTitle,
    jsResources.yes,
    jsResources.no, route)
})
<button type="button" id="deleteScrollTop" class="btn btn-delete">
  <img src="@Url.ThemeFolderUrl("_images/delete.png")" alt="delete address" />
</button>

关于javascript - $(this) 在我的 jQuery 点击函数中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69084548/

相关文章:

javascript - 在 JavaScript 中复制数组的最快方法 - 切片与 'for' 循环

javascript - 根据数据属性、最小值和最大值隐藏项目

javascript - 如何使用 jquery 或 javascript 获取基本 url?

javascript - 加载本地 .json 文件时,jQuery $.when().done() 无法按预期使用 JSONP

javascript - 解释 "you can have functions that change other functions"

javascript - .innerHTML 不能正常工作(我猜)

javascript - 如何在 jQuery 中用开始和结束元素包装元素?

javascript - Javascript 中的 "."叫什么?

javascript - Bootstrap 3 导航栏切换不起作用

php - 什么时候 404 不是 404?