当前位置: 首页 > 知识库问答 >
问题:

jquery-从一个函数到另一个函数的引用值

徐涵亮
2023-03-14

我是不是漏掉了什么?

我有一些html代码:

<td class="clickable" data-type="connect1">ABC</td>

然后我有以下jquery函数:

$(document).ready(function()
{
    showDetails();
}

getTypeToUse = function()
{
    dataType=$(this).data("type");
    console.log("dataType:"+dataType);
}

showDetails = function()
{
    $('body').on('click','.clickable',function()
    {
        getTypeToUse();
    })
}

但是当我单击时,我得到datatype:undefined

如果我将代码放在showDetails()中,它将按预期工作并返回datatype:connect1

但是,由于我希望getTypeTouse函数稍后在其他地方可用,所以我希望将其单独保留。

共有1个答案

颛孙正谊
2023-03-14

GetTypeTouse中的引用的是Window对象,而不是单击的元素。 您需要将元素或事件传递给函数,如下所示:

$(document).ready(function() {
    showDetails();
});
    
getTypeToUse = function($ele) {
    dataType = $ele.data("type");
    console.log("dataType:"+dataType);
};
    
showDetails = function() {
    $('body').on('click','.clickable',function() { 
        getTypeToUse($(this));
    });
};

 类似资料:
  • 在从getCsvRow调用getCol列时,获取非法转发引用的CE。列表列=getCsvColumn.apply(null); 需要你的帮助来解决这个问题。 我知道的一种方法是将函数接口转换为java方法,然后我可以从"getCsvRow"调用方法"getCol列" 寻找其他解决方案

  • 问题内容: 我不太明白为什么我不能将Int []从一个函数传递到另一个函数: 这给了我以下错误: 谢谢你的帮助! 问题答案: 中的参数称为 可变参数 。这意味着您可以传入该参数类型的可变数量,并且传入的所有内容都将转换为该类型的数组,以供您在函数中使用。 因此,内部的参数是一个数组,而不是所期望的一组参数。 您可能想要像这样重载以接受其中任何一个,因此您的平均函数可以调用适当的版本:

  • 问题内容: 表: 有了答案,我在这里得到了利用$ compile的这种方式 现在,当单击按钮时,我什至调用一个模态,并命令对象使用ng-model 感谢您的帮助,它运作良好。 问题答案: 编辑 :添加了用于演示 $ compile 用法的代码段 在html中,只有一个用于初始化应用程序的标签和一个用于初始化控制器的div。 在controller中,两个链接被创建为简单字符串,但分别具有两个,然后

  • 问题内容: 我有以下函数,可用于从我的代码中调用Lambda函数。 但是,当我尝试在Lambda函数中使用它时,出现以下错误: 如何从Lambda函数中调用Lambda函数? 我的功能: 问题答案: 使用每个Lambda中都提供的,从另一个Lambda函数中调用Lambda函数非常简单。 我建议首先从 简单的 事情开始。 这是lambda内调用的“ Hello World”: 使用包含一个参数的调

  • 问题内容: 如果我有这个: 我之前已定义,因此效果很好。 我的问题是在第6行中调用。我试图用相同的定义在第一个函数之外进行定义,但是即使调用,它也始终相同。 我希望每次调用第一个函数然后再调用第二个函数时,都具有一个不同的。 我能做到这一点,而不界定外? 问题答案: 是的,您应该考虑在一个类中定义您的函数,并使word成为成员。这比较干净 创建类后,您必须将其实例化为对象并访问成员函数。 另一种方

  • 我不明白为什么下面的代码会打印两次。我以为应该是个人和学生。当通过“a”对象调用printPerson()内部的getInfo()时,为什么要调用Person类内部的一个,为什么不调用Student类中的一个?提前谢谢。

  • 问题内容: 我可以在python3.2的全局范围内调用嵌套在另一个函数内的函数吗? 这是从外部func1()调用func2()的一种方法吗? 问题答案: 否,除非您返回该函数: 甚至

  • 在过去的几个小时里,我一直在调试、配置和命名它,我似乎不明白为什么会发生这种情况。 我正在尝试调用一个 lambda 函数,该函数只是从 ec2 中检索基本信息。当我在aws控制台中测试此lambda函数时,它似乎工作正常。但是,使用以下代码在另一个lambda中调用它; 它只是超时了。没有任何反应…两个Lambda都连接到VPC和所有子网 我认为是我的新VPC导致了这个问题。我的VPC包括: 1