请选择 进入手机版 | 继续访问电脑版

toMyCar:119 Uncaught ReferenceError: toJS is not defined at HTMLAn

[复制链接]
暖男先生 发表于 2021-1-1 17:48:08 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
toMyCar:119 Uncaught ReferenceError: toJS is not defined at HTMLAnchorElement.onclick

首先自己遇到这个问题的时候,看一下自己的办理方案
这是a标签的代码
  1.   结算
复制代码
这是function函数的代码
  1. //发起结算    function ifJs() {        var arr =new Array();        $(".xzWxz.on").each(function () {            var id = $(this).parent().attr("data-id");            console.log(id)            var num = $(this).parent().find("#count").html();            console.log(num)            var obj = new Object();            obj.id = id;            obj.num = num;            arr.push(obj);        });        if(arr.length==0){            alert("至少选择一个商品结算");            return false;        }        $.ajax({            url : "order",            type : "POST",            data :JSON.stringify(arr),            success : function (result) {                //另有所在未填写的可能                if(result.code==100){                    alert("购买成功")                }else {                    alert("请登录");                    window.location.href = "toLogin";                }            }        });    }
复制代码
问题所在:
首先我也是网上搜了下,网上照旧有许多常见方法的
自己的原因是把函数写在了$(function(){}); 这个页面加载的函数里,感觉一般都是写在这内里吧
厥后显示,这和函数未加载,我就把函数放到了内里,他就正常了。。。。。。。。。。。
接着我们看看网上的一些可能遇到的问题:
那这是什么原因呢?为什么用 href="javascript:search();" 可以,而用οnclick="search();" 确不行呢?
颠末我在积极搜寻,综合国外著名论坛
https://stackoverflow.com/questions/12816400/javascript-typeerror-xxx-is-not-a-function
和国内一些博客,终于找到了答案,总结如下:
主要原因有几点:
1、首先确保这函数的js被引入到了页面;Are you certain you added the script to the page?
2、在调用该方法时,确保该方法已经被加载了。在欣赏器控制台输入该方法,能正常运行。 Are you certain it has loaded before you try to call search(); ?
3、使用onclick绑定函数事件时,必须确保href写成 href="javascript:void(0);" 大概 href="javascript:;" 这样,第1种形式中的void表达式中的0不能少。如果少些了0,会报“Uncaught SyntaxError: Unexpected token )”的错误。
4、函数名不能和页面的某个标签的id名相同。一些欣赏器可以通过在js代码中指定ID访问节点元素,然后界说的函数就会被 DOM中的元素覆盖了。您需要重定名函数名称或元素ID。(感觉这个也常常有人遇到)
Can you provide the html code, maybe you have an element with id search?
in your html code has ID search just like the name of the function.
some browsers can access the node elements just by specifying the ID in the js code and then the function
defined is overridden by the element in the DOM.
you need to rename the function name or the element ID.
颠末审查我的代码,发现我的代码堕落就是因为第4点原因,search()函数名和该页面包含的子页面中的一个标签
的id="search"相同了,下面代码为当前的页面包含的一个弹窗页面里的div.
  1.                                     
复制代码
这里有个标签的id=“search”,和我们的方法 search() 同名了,因此引发了辩说了。
办理方法:重定名函数名称或元素id即可。我将该id改为了id=“ipc_search” 就好了。
思考:那为什么我优化之前用 href=“javascript:search();” 可以且没有报错呢,为什么没有与id="search"辩说?
标签的href属性,此中href是hypertext reference的缩略词,用于设定链接所在。链接所在必须为url所在,
如果没有给出详细路径,则默认路径和当前页的路径相同。
而使用href=“javascript:xxx();”,这种写法自己就是不正规的,是不发起的! javascript: 是一个伪协议,其他的伪协议另有 mail: tel: file: 等等。javascript:是表现在触发默认动作时,执行一段JavaScript代码,而 javascript:; 和javascript:void(0);表现什么都不执行,这样点击时就没有任何反应。

来源:https://blog.csdn.net/weixin_45873488/article/details/112006694
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )