我尝试将一个元素传递给另一个函数,并在jQuery中将其作为DOM元素使用:
第一个
发送了element
,我可以从中获取所有数据,但它似乎没有链接到页面中的元素:
我不能以$(element).closest('form')
为例。
EDIT:我本来想发一个jsfiddle的例子,但是我无法重现,经过更努力的测试,我发现了我的错误🤦♂️,在执行myFunction之前,我是用 AJAX 响应替换这些元素(包括调用者),但是结构是一样的,所以我第一眼就没有想到这一点,因为我可以使用选择器找到元素。
1条答案
按热度按时间pod7payv1#
目前还不清楚您遇到的问题是什么。
就我所能说的,代码应该按预期工作,尽管我更喜欢的几个细节是不同的。
例如,我更喜欢使用传递给处理函数的事件的
.target
属性而不是this
来获取触发事件的元素。(我就是这样重新命名的)当在 AJAX 进程调用的回调中求值时,属于change事件范围的变量将保留其值(当请求将被实现时),但是它将被更好地分解将bound
函数作为参数传递给$.ajax()
。Anwyay这些只是建议更好的因素代码...
您的程式码应该已经如预期般正确运作,如此处所示。
这里的
selector
是作为input
文本静态传递的,这样一个change事件处理程序将被附加到文档中的所有输入元素。另外,我将success
回调改为在complete
上执行,因为正如您所看到的,我为 AJAX 请求使用了一个假的url。当您给予焦点放在文本输入上并更改其值时,在将焦点移到别处之后,change事件将触发,
myFunction
调用将打印出触发change事件的元素及其任何父信息,这些父信息将显示这样的元素附加到dom的证据。第一个