Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JQuery参考错误(特定于Safari)

JQuery参考错误(特定于Safari)
EN

Stack Overflow用户
提问于 2015-09-16 02:15:18
回答 1查看 194关注 0票数 1

我的代码似乎在Chrome/IE/Firefox上工作,但是当涉及到Safari时,我会得到一个错误(参见下面)。我正在使用Safari 8.0.8

我试图将选中后的select选项的值相加,并创建一个总计。随着航向的变化,总数将发生变化。我知道,在创建global var并尝试使用safari访问它时,似乎是这样的,但我似乎无法让它工作起来。

该解决方案还必须在移动平台上工作,因为它是为移动设备而构建的,但也不适用于iPhone。我正在使用JQueryJQuery Mobile

还有别的办法可以绕开吗?我可以简化JQuery (将有30种选择,我需要这个smaller和更多的efficient)吗?

误差

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ReferenceError: Can't find variable: previous

片段

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('#select-choice-timely').on('click', function () {
    previous = this.value;
}).change(function () {
    var a = $('#fr-total').html();
    var ab = parseInt(a, 10) - parseInt(previous, 10);
    var b = $(this).val();
    var c = parseInt(ab, 10) + parseInt(b, 10);
    $('#fr-total').html(c);
});
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<html class=""><head><meta charset="UTF-8"><meta name="robots" content="noindex"><link rel="canonical" href="http://codepen.io/JamieSterling/pen/QjyxGz">

<link rel="stylesheet prefetch" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<style class="cp-pen-styles"></style></head><body>
<div data-role="page" id="page-site-data">
  <div data-role="panel" data-display="push" id="mypanel" data-theme="b">
    <div class="user">
      <h3>Dave Smith</h3>
      <p><a href="/" class="">Logout</a></p>
    </div>
    <ul id="menu-panel" class="ui-listview ui-listview-b" data-role="listview">
      <li class=""><a href="/home.html" class="ui-link ui-btn ui-btn-icon-left ui-icon-home">Home</a></li>
      <li class=""><a href="#page-2" class="ui-link ui-btn">High performance finance</a></li>
      <li class=""><a href="#page-3" class="ui-link ui-btn">Peer review</a></li>
      <li class=""><a href="#page-4" class="ui-link ui-btn">Tools</a></li>
      <li class=""><a href="#page-5" class="ui-link ui-btn">Diary</a></li>
      <li class=""><a href="#page-6" class="ui-link ui-btn">Blog</a></li>
    </ul>
  </div>
  <!-- /panel -->
  <div data-role="header">
    <h1>Business Unit</h1>
    <a href="/site-1.html" class="ui-btn-left ui-btn-icon-notext ui-icon-hotback" data-role="none" data-icon="hotback" data-iconpos="left" role="button">Back</a>
  </div>
  <!-- /header -->
  <div role="main" class="ui-content">
    <h2>Add Performance Data</h2>
    <form id="add-data-1">
      <fieldset data-role="collapsible" data-iconpos="right" data-collapsed="false" id="fr">
        <legend>Financial Reporting</legend>
        <div class="ui-field-contain" id="timely-report">
          <label for="select-choice-timely" class="select">Timely Report</label>
          <select name="select-choice-timely" id="select-choice-timely" data-mini="true" data-inline="true">
          
            <option value="1">Basic</option>
          
            <option value="2">Developed</option>
          
            <option value="3">Advanced</option>
          
            <option value="4">High Performance</option>
          
            <option value="5">World Class</option>
          </select>
        </div>

        <div class="ui-field-contain">
          <label for="select-choice-accurate" class="select">Accurate Reporting</label>
          <select name="select-choice-accurate" id="select-choice-accurate" data-mini="true" data-inline="true">
          
            <option value="1">Basic</option>
          
            <option value="2">Developed</option>
          
            <option value="3">Advanced</option>
          
            <option value="4">High Performance</option>
          
            <option value="5">World Class</option>
          </select>
        </div>

        <div class="ui-field-contain">
          <label for="select-choice-efficient" class="select">Efficient Processes</label>
          <select name="select-choice-efficient" id="select-choice-efficient" data-mini="true" data-inline="true">
          
            <option value="1">Basic</option>
          
            <option value="2">Developed</option>
          
            <option value="3">Advanced</option>
          
            <option value="4">High Performance</option>
          
            <option value="5">World Class</option>
          </select>
        </div>

        <div class="ui-field-contain">
          <label for="select-choice-harmonised" class="select">Harmonised &amp; Flexible</label>
          <select name="select-choice-harmonised" id="select-choice-harmonised" data-mini="true" data-inline="true">
          
            <option value="1">Basic</option>
          
            <option value="2">Developed</option>
          
            <option value="3">Advanced</option>
          
            <option value="4">High Performance</option>
          
            <option value="5">World Class</option>
          </select>
        </div>

        <div class="ui-field-contain">
          <label for="select-choice-measured" class="select">Measured &amp; Monitored Performance</label>
          <select name="select-choice-measured" id="select-choice-measured" data-mini="true" data-inline="true">
          
            <option value="1">Basic</option>
          
            <option value="2">Developed</option>
          
            <option value="3">Advanced</option>
          
            <option value="4">High Performance</option>
          
            <option value="5">World Class</option>
          </select>
        </div>
        <div class="ui-field-contain">
          <label for="select-choice-fr-total">Total</label>
          <div id="fr-total">5</div>
        </div>
      </fieldset>

      <button type="submit" id="submit-1" class="ui-shadow ui-btn ui-corner-all">Submit Data</button>

    </form>
  </div>
  <!-- /content -->
</div>
<!-- /page -->
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script><script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</body></html>

Link

科德芬

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-16 02:40:04

在Safari中,changeclick之前触发,因此previouschange-callback中是未定义的。

另一种方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$("#select-choice-timely").change(function() {

  var a = $("#fr-total").html();
  var ab = parseInt(a, 10) - parseInt($(this).prop('previous'), 10);
  var b = $(this).val();
  var c = parseInt(ab, 10) + parseInt(b, 10);

  $("#fr-total").html(c);
  $(this).prop('previous',this.value)
}).prop('previous',function(){return this.value});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32605769

复制
相关文章
HTTP协议中的401授权认证机制在iOS上的实现
我们在用NSURLConnection或者NSURLSession进行HTTP请求时,有些URL因为需要授权认证而返回401,因此客户端需要在HTTP的请求头中带上用户和密码进行授权认证(具体查看这里);或者当我们使用HTTPS协议时,一旦服务器提供的证书不被默认信任则需要客户端人为确认是否信任此服务器证书;或者用HTTPS协议时服务端也需要客户端提供证书进行双向认证时;或者我们是通过代理服务器来请求数据时客户端需要提供代理服务器的用户和密码进行认证。我们称这些情况为服务端要求客户端接收认证挑战(AuthenticationChallenge)。
欧阳大哥2013
2018/08/22
1.3K0
【分享】在集简云上架应用使用API授权如何配置?
授权字段为用户在前端授权时要求填写的字段,例如API Key,设置后,用户在集简云平台使用我们的应用时,点击“添加账户”弹窗窗口中填写,例如如果我们设置了一个"API Key"字段,那么用户使用时点击添加账户就会要求其填写自己的 API Key:
集简云
2022/08/19
9000
SpringBoot Security 访问API始终报401
用POSTMAN或者在页面前端登录访问后端API时,始终返回401.返回401有很多原因造成的,主要分为两个方面来看:
芥末鱿鱼
2022/05/05
3.3K0
微服务与API 网关(上): 为什么需要API网关?
本文是来自于Macro在一次大会上的一个分享。 本系列共有两个部分,主要关注我们如何以及为什么要在我们的微服务应用中部署API 网关。第二部分主要关注我们如何把Mashape的开源网关组件Kong运用到我们自己的微服务架构当中。 目录 0:00 微服务与网关(Microservices & API Gateways) 大家好,我叫Macro,今天我们谈论有关微服务和网关的话题。我是Mashape的CTO,也同时是开源网关Kong的开发者之一。Kong是一个API网关,今天我们就来窥探一下它究竟是
ImportSource
2018/04/03
2.6K0
微服务与API 网关(上): 为什么需要API网关?
安卓请求文件授权
我将于茫茫人海中访我唯一灵魂之伴侣;得之,我幸;不得,我命,如此而已。——徐志摩 安卓请求文件授权 在AndroidManifest.xml中加上 <!-- 往SDCard写入数据权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 从SDCard读入数据权限 --> <uses-permission android:name="android.permission.READ_E
阿超
2022/08/16
8130
安卓请求文件授权
Laravel Sanctum API 授权
简单来说,前后端分离的项目,使用 token 验证登陆状态,可以选它;另外,同类型的还有 jwt 比较火
崔哥
2023/04/16
3.1K0
在以太坊上构建 GraphQL API
dapp[5]的数量继续爆炸性增长,对开发人员(使用 Solidity[6]或其他区块链语言的)的需求[7]也越来越大。
Tiny熊
2021/06/10
1.8K0
在以太坊上构建 GraphQL API
在restful api模式上使用JWT
在header头里面增加Authorization。在服务端验证的时候回通过取得这个值来验证回话的有效。
友儿
2022/09/11
8390
vue在headers中带入token:解决401
js export function 函数名(params) { return axios({ url: api.函数名, data: params, params: params, headers: { 'Authorization': 'Bearer ' + params.token } }) } 单页面 函数名: function () { let token = Vu
江一铭
2022/06/16
7790
JAVA接入淘宝授权API
如果您的应用和淘宝开放平台对接后,需要获取用户隐私信息(如:商品、订单、收藏夹等),为保证用户数据的安全性与隐私性,您的应用需要取得用户的授权。在这种情况下,您的应用需要引导用户完成“使用淘宝帐号登录并授权”的流程。
凯哥Java
2019/06/28
3.7K0
JAVA接入京东授权API
如果您的应用已和京东JOS对接,需要获取一些与用户紧密相关的信息(如订单、商品、促销等),为保证数据的安全性和隐私性,需要取得用户的同意,引导用户授权。JOS采用国际通用的OAuth2.0标准协议,支持网站、桌面客户端、ERP系统。如果要了解更多关于OAuth2.0的技术说明,请参考官方网站  http://oauth.net/2/  。目前,JOS的OAuth2.0支持以下方式获取Access Token。
凯哥Java
2019/06/28
3.1K0
Google JS API 授权 失败
// 初始化OAuth2.0授权 const authenticate = () => { return gapi.auth2.getAuthInstance() .signIn({scope: "https://www.googleapis.com/auth/documents https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/driv
拿我格子衫来
2022/01/24
4K0
Google JS API 授权 失败
Go 语言技术大佬们在 Twitter 上打起了口水战
转载链接:https://zhuanlan.zhihu.com/p/41627929
老钱
2018/12/14
1.1K0
Docker Daemon API未授权
Docker Remote API是一个取代远程命令行界面(RCLI)的REST API,当该接口直接暴漏在外网环境中且未作权限检查时,攻击者可以通过恶意调用相关的API实现远程命令执行
Al1ex
2022/09/07
9720
Docker Daemon API未授权
在 Mac 上安装 Git ,生成 SSH 密钥用于 GitHub 授权
我们需要的 SSH 公钥存储在以.pub结尾的文件中,即: ~/.ssh/id_rsa.pub
圆号本昊
2021/09/24
2.3K0
在 Mac 上安装 Git ,生成 SSH 密钥用于 GitHub 授权
API Gateway Kong在Rainbond上的部署
Kong是一个可扩展的开源API平台(也称为API网关,API中间件或微服务服务网格)。Kong最初是由Kong Inc.(以前称为Mashape)实现的,用于为其API Marketplace维护、管理和扩展超过15,000个微服务,这些微服务每月产生数十亿个请求。
Rainbond开源
2020/01/02
1.3K0
SAP JAVA 调用ABAP webservice 报错Transport error : 401Error:Unauthorized 授权失败
简介:   解决 webservice 调用之后报错:调用异常:Transport error : 401 Error:Unauthorized 授权失败。 加入如下代码 //Sap需要ws-security的认证,调用sap webservice的认证信息需要输入用户名和密码: HttpTransportProperties.
matinal
2023/10/13
3520
SAP JAVA 调用ABAP webservice 报错Transport error : 401Error:Unauthorized 授权失败
Node.js-具有示例API的基于角色的授权教程
1.从https://github.com/cornflourblue/node-role-based-authorization-api下载或克隆教程项目代码 2.通过从项目根文件夹(package.json所在的位置)中的命令行运行npm install来安装所有必需的npm软件包。 3.通过从项目根文件夹中的命令行运行npm start来启动api,您应该看到消息 Server listening on port 4000。您可以使用诸如Postman之类的应用程序直接测试api,也可以使用下面的单个页面的示例应用程序来测试它。
ccf19881030
2020/08/11
5.7K0
Docker API未授权命令执行
Docker Swarm是Docker的集群管理工具,它将Docker主机池转变为单个虚拟Docker主机,能够方便的进行docker集群的管理和扩展。Docker Swarm使用标准的Docker API通过2375端口来管理每个Docker节点,Docker API是一个取代远程命令行界面(RCLI)的REST API。当Docker节点的2375端口直接暴露并未做权限检查时,存在未授权访问漏洞,攻击者可以利用Docker API执行任何操作,包括执行Docker命令,创建、删除Docker以及获得宿主机权限等。
谢公子
2023/09/01
1.3K0
Docker API未授权命令执行
点击加载更多

相似问题

401:从Twitter API检索请求令牌时需要授权

10

Twitter Stream API - 401未经授权

32

需要AngularJs "401授权“的Vimeo API请求

20

Twitter授权/签名的get请求返回401未授权

10

Twitter401未授权-- OAuth请求令牌

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文