gpt4 book ai didi

javascript - 函数处理 jQuery 事件和参数?

转载 作者:行者123 更新时间:2023-11-30 17:26:34 26 4
gpt4 key购买 nike

取下面的代码,

// Update button clicked
function updateEntity(e) {
e.preventDefault();

var name = $(this).attr("name");

...
// some stuff
...
}

$(document).on("click", ".updateEntity", updateEntity);

目前我有这个(去图)更新我在按钮点击时编辑的实体。现在,它的参数特别期待一个 jQuery 事件。但是,我还希望能够在 jQuery 事件之外调用此函数(最终目标:最小化代码)。像这样,

// Do an update but then redirect to prevent adding the same estimate twice.
function createEstimate(e) {
updateEntity(e);

var link = $(this).attr("href");
window.location.href = link;
}

$(document).on("click", ".createEntity", createEstimate);

问题:我将如何调用 updateEntity 或设置函数,以便我可以将它提供给点击事件处理程序并像函数一样调用它并且仍然正确使用它?这个目标是否现实,或者如果我想实现这样的目标,我应该以不同的方式构建它吗?

(Encase不是很明显,我现在的问题是在函数调用updateEntity(e); $(this) 变成了window 而不是点击的链接。)

最佳答案

使用.call正确设置this:

updateEntity.call(this, e);

Learn more about this .

关于javascript - 函数处理 jQuery 事件和参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24128139/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com