获取内部功能的js
问题描述:
最接近TR我有这样的JS代码:获取内部功能的js
$(".contenteditable").keyup(function(){
var data = $(this).text();
var domId = document.activeElement.id;
var userId = $(this).closest('tr').find('[type="hidden"]:first').val();
$.post
(
"https://*.com/users/"+userId,
{
data,domId,userId,'_method':'patch'
},
function(data)
{
console.log(data);
}
)
});
其工作正常。不过,现在我想让它的功能和使用它,因为我尝试过任何像这样的页面:
function keyUpUpdate()
{
var data = document.activeElement.textContent;
var domId = document.activeElement.id;
var userId = $(this).closest('tr').find('[type="hidden"]:first').val();
console.log(userId);
}
的userId
没有这个功能里面工作。 我怎样才能得到最接近的tr
,然后从功能中的活动元素的第一个输入类型隐藏值。
答
this
有自己的函数中没有上下文,你应该在当前对象发送到keyUpUpdate()
为参数,然后根据这个对象上得到userId
:
$(".contenteditable").keyup(function(){
keyUpUpdate($(this));
//Other code
})
function keyUpUpdate(_this)
{
var data = document.activeElement.textContent;
var domId = document.activeElement.id;
var userId = $(_this).closest('tr').find('[type="hidden"]:first').val();
console.log(userId);
}
或者,如果你刚刚此功能可在keyup
执行你可以直接调用它,则this
对象将被动态传递:
$(".contenteditable").keyup(keyUpUpdate);
function keyUpUpdate()
{
var data = document.activeElement.textContent;
var domId = document.activeElement.id;
var userId = $(this).closest('tr').find('[type="hidden"]:first').val();
console.log(userId);
}
希望这有助于。
显示HTML,什么错误控制台 –
请须出示你怎么称呼“keyUpUpdate()”,因为也许你在上下文中的问题(这个目标) – Tobia
不确定这是控制台 –