【发布时间】:2018-01-23 07:41:34
【问题描述】:
下面是我的伪代码
$("#oneElement").bind(
"change",
{
field:$("#theDropDownList").find("option:selected").text()
},
theFunction
);
当$("#oneElement") 发生变化时,它会调用theFunction (event) {},我希望在event.data.field 中找到从$("#theDropDownList") 中选择的值。
但是即使在多次更改$("#oneElement") 之后,field 也从未在我加载网页时更新。
**编辑:** theFunction 看起来像
function theFunction(event) {
console.log(event.data.field);
//do whatever
}
欢迎大家帮忙!
【问题讨论】:
-
你能告诉我们
theFunction是什么吗?我们无法判断您是否在其中正确操作。 -
bind在 jQuery 中已弃用,因此即使是伪代码,看到它也有点奇怪。 (另外,鉴于它具有与 JavaScriptbind不同的功能,这让事情变得更糟) -
数据可能是在绑定时间内计算的,而不是在事件被捕获时计算的。我稍后会详细说明
-
@Tibrogargan 如果不使用
bind,您将如何获得相同的结果? -
发生这种情况是因为
eventData按原样传递给函数,它不会在事件触发时进行评估,因此您将获得bind时的值叫
标签: javascript jquery events jquery-events