jQuery - 内联调用函数

2024-01-20

我正在尝试将一个变量传递给内联 jQuery 函数(即:使用onMouseOver="function();"在实际链接内(这是图像映射中的区域标记))。

仅当我将其放在之前时才会调用该函数$(document).ready(function(){行,但这样做会导致 jQuery 出现各种问题。

我想要的只是一个简单的标签(例如<area shape="circle" coords="357,138,17" onMouseOver="change('5');" id="5" />启动包含在正常 jQuery 代码体内的函数。

为了说明这一点,可以进行以下工作:

<script type="text/javascript">
function myfunction(x)    {  alert(x); //Alerts 2  
}
</script>

<img src="/shared_images/loading.gif" border="0" usemap="#Map">
<map name="Map"><area shape="rect" coords="171,115,516,227"
onMouseOver="myfunction('2')"></map>

但下面的则不然

<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function myfunction(x)    {  alert(x); //Nothing happens   
}
}
</script>

<img src="/shared_images/loading.gif" border="0" usemap="#Map">
<map name="Map"><area shape="rect" coords="171,115,516,227"
onMouseOver="myfunction('2')"></map>

在你的第二个例子中,你已经声明了myfunction inside您传递给的匿名函数.ready()。这意味着myfunction是一个局部变量,仅在该匿名函数内部的范围内,并且您不能从其他任何地方调用它。

有两种解决方案。

首先,您可以在调用之外(之前或之后)声明它.ready(). This 不应该对 jQuery 造成任何干扰。如果确实如此,则说明存在其他错误(可能是简单的语法错误?),我们欢迎您在 StackOverflow 问题中提出。

其次,你不应该使用onMouseOver=""附加事件处理程序(因为它将 JavaScript 与 HTML 混合在一起),所以让我们完全取消它。将您的 JavaScript 替换为:

$(document).ready(function() {
    $("#that-area-down-there").mouseover(function() {
        alert(2);
    });
});

你的 HTML 是这样的:

<area shape="rect" coords="171,115,516,227" id="that-area-down-there" />

(大概你会想要替换它id当然,还有一些在上下文中更有意义的东西。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery - 内联调用函数 的相关文章

随机推荐

  • W/AudioGroup:设备循环超时

    我正在尝试在我的 android 中进行 SIP 呼叫 第一次通话时声音效果很好 但是当此通话结束并开始第二次通话时 声音被中断 并且我收到以下警告 每秒多行 W AudioGroup 设备循环超时 我以以下方式开始通话 mSipManag
  • Apache Spark GCS 连接器的速率限制

    我在带有 Google Cloud Storage 连接器的 Google Compute Engine 集群上使用 Spark 而不是 HDFS 如受到推崇的 https cloud google com hadoop google cl
  • 更好的方法来检查条件而不是重复 Case When

    这是我的表格 Member Id UserId UserName Email Status Id MemberType Id CustomerProfile Id Member Id FirstName LastName SSN Gende
  • 提升灵气期待

    我对灵气比较陌生 正在尝试解析一种类似汇编语言 例如 我想解析 Func Ident Mov name hello Push 5 Exit 到目前为止 一切都很好 我可以正确解析它 然而 错误处理程序有时会出现奇怪的错误位置 以下面的错误代
  • Laravel 模板/控制器在保存时未更新

    我正在 OS X 上运行 Laravel 4 作为一个简单的应用程序 基本上 在我保存对这些文件的更改后 对控制器和模板的更改在很长一段时间内不会生效 例如 我向 app views index blade php 添加一个单词 并且在不断
  • javascript bookmarklet 隐藏当前网页中的所有图像?

    我想创建一个简单的书签 隐藏我正在浏览的当前网站的所有图像 javascript body getElementsByTagName img style visibility hidden 那不行吗 我想知道我做错了什么 感谢您的帮助 您需
  • 当应用程序长时间进入后台时,Firestore 监听器被杀死

    在我的应用程序中 每当用户登录时 我都会监听 Firestore 查询 应用程序进入后台一段时间后 监听器将被取消 并且客户端不会收到任何新更改的通知 如何知道监听器是否已被 SDK 取消 处理这个问题的正确方法是什么 在大多数操作系统上
  • 在生产服务器中拥有 Git 存储库是一个坏主意吗

    我们有 Windows Server 2012 Apache PHP 和 MySQL 服务器有点乱 我想要的事情之一是跟踪代码的更改 通常我不会在服务器上设置 Git 而是在本地计算机上进行开发 然后使用 SSH 将更改部署到生产服务器 然
  • 在 WPF 中使用枚举作为依赖属性

    我尝试在自定义控件中使用枚举类型作为依赖属性 但总是收到错误 public enum PriceCategories First 1 Second 2 Third 3 Fourth 4 Fifth 5 Sixth 6 public stat
  • Blackberry Storm 模拟器 - TouchGesture 事件未触发,如何让滑动功能正常工作?

    我一直在玩 Storm Emulator 和 4 7 JDE 我一生都不知道如何在模拟器中触发手势事件 下面是 RIM 示例应用程序 EmbeddedMapDemo 的触摸事件代码 这看起来很简单 但 touchGesture getEve
  • 是否可以使用一个重载运算符来实现另一个运算符重载?

    例如 如果我重载了 运算符 myClass operator const myClass rhs 并且还重载了 运算符 myClass operator const myClass rhs 两个运营商都工作正常 我可以在 运算符重载中使用这
  • asp.net mvc 中数据库上下文类的用途是什么

    我是 MVC 新手 并且已经完成了一些教程来掌握它的窍门 但在其中一些教程中我遇到了一个带有 DbContext 类的示例asp net mvc5 与 EF6 教程 https www asp net mvc overview gettin
  • 使用 i18n 进行 Vuelidate:在区域设置消息中找不到密钥

    因此 在我的 i18n validators js 文件中 我想将带有翻译消息的验证器导出为我选择的语言 并在我的 vue 组件中使用它们来验证表单 My code import as VuelidateValidators from ht
  • C# 读取xml文件

    我正在尝试拉
  • 如何绑定内联匿名函数?

    我在尝试着bind ie bind this 内联匿名回调函数object如何做呢 简化示例 var object property function this id abc this binds to the object aFuncti
  • D3:使用 d3.max 获取包含对象?

    我有以下数据 一个对象数组 var data x 0 y0 0 y 100 x 1 y0 0 y 150 x 2 y0 50 y 100 x 3 y0 50 y 150 我想找到之间差异最大的对象y and y0 使用 D3 我可以这样做以
  • Netbeans 中的拆分窗口

    我正在尝试拆分我的窗口 以便我可以在 1 个屏幕上拥有 2 个不同的类或其他内容 但它只会拆分同一类 文件 其他内容的窗口 我已经使用 netbeans 多年了 但仍然无法做到这一点 这可能吗 您没有具体提及您正在使用哪个版本的 NetBe
  • SQL Server SMO - 备份 - 如何确定失败/成功?

    如果使用 SMO 执行备份 成功完成后 我测试 SqlError 是否为 null 认为备份已完成且没有错误 但是 正如您所看到的 它实际上返回了 0 类编号 3014 的错误 这意味着成功 所以问题是 问 如何确定备份是否成功完成 以及如
  • 与 jasperReports 完全混淆

    在开始工作前两天 我才刚刚接触 jasper 我下载了 jasperReports 和 iReports 并在我的 salesforce 帐户中安装了 iReports 并安装了 jasper4salesforce 但没有找到任何 jasp
  • jQuery - 内联调用函数

    我正在尝试将一个变量传递给内联 jQuery 函数 即 使用onMouseOver function 在实际链接内 这是图像映射中的区域标记 仅当我将其放在之前时才会调用该函数 document ready function 行 但这样做会