前端调用toPinyin函数的调用报错

没有更多推荐了,
不良信息举报
举报内容:
关于前端页面莫名其妙的报错
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
我也不知道怎么用文字去描述我的这个问题,所以可能问题的题目不能很好的表达出我的疑问,这里先给点进来看看的各位程序猿哥哥道谢啦(⌒?⌒)
是这样的,我写了一个简单的单击Save按钮后写入localStorage,然后单击Load从localStorage中读取信息并写入一个div里面的小功能,先上代码:
&!DOCTYPE html&
&html lang="en"&
&meta charset="UTF-8"&
&title&Title&/title&
&script type="text/javascript"&
function onLoad(){
var btn_save = document.getElementById('btn_save'),
btn_load = document.getElementById('btn_load');
var inputname = document.getElementById('inputname'),
show = document.getElementById('show');
btn_save.addEventListener('click',saveTo);
btn_load.addEventListener('click',loadFrom);
function saveTo(){
localStorage.username = inputname.
function loadFrom(){
show.innerHTML = localStorage.
&body onload = 'onLoad()'&
input your name:&input type="text" id="inputname" value=""&&br/&
&div id="show"&&/div&&br/&
&button id="btn_save"&Save&/button&
&button id="btn_load"&Load&/button&
问题来了,那几行注释里的代码是我自己写的,运行后没问题,后来我看了书上的代码,发现书上没有像我那样去定义这些变量,把html里面的那些元素取出来,而是直接就用了html里面元素的id。
按照书上的代码,都没有用getElementById把save按钮的btn_save获取到,怎么能这样直接btn_save.addEventListener('click',saveTo)调用方法呢?
还有下面的show这个变量也没有获取到,没有申明,怎么能直接用呢?
是不是js里面,可以用html里面元素的id直接调用方法呢?我有点晕了,谁能给我讲解一下吗,谢谢各位啦:D
补充下,我拍了书上代码的截图(为什么图片是横过来的...):
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
首先明确一件事,不太明白是否你按书上写的代码能运行。
一般从你的代码上来看(包括你注释掉的)应该运行没有问题。
如果要在js中执行方法一般是通过dom中的class或者id 来获取到dom对象。然后再操作对象逻辑
ps:一个建议尽量在js中驼峰的方式来写变量名或者方法
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
是覺得有三種可能性:
就是書上有可能會省略掉這些獲取元素部分的聲明
可能用屬性去綁定事件,例如
&button id="btn_save" onclick="saveTo()"&Save&/button&
&button id="btn_load" onclick="loadFrom()"&Load&/button&
最後一個我覺得可能性不大,但是你該不會是看到這種寫法吧 $('#btn_save')?
是的話,這是一個 Javascript 的庫 jQuery ,封裝原本複雜的 Dom 操作
變成可以很簡單的使用
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
html 中用 id 命名的任意元素在 js 中可以直接通过这个 id 来访问,不需要再去声明一遍
有一个输入框
&input id="test" value="1"/&
js中可以直接访问:
console.log(test.value);
//控制台输出 "1"
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。Chinese to Pinyin download | SourceForge.net
Support Chinese character (both Simplified and Tranditional) to most popular Pinyin systems, including Hanyu Pinyin, Tongyong Pinyin, Wade-Giles, MPS2, Yale and Gwoyeu Romatzyh. Support multiple pronounciations and customized output.
Project Samples
Categories,
Follow Chinese to Pinyin
Other Useful Business Software
Shorten your search for reliable and trusted information about smartphones and other wireless technologies by heading over to PhoneDog.com. Stay informed by checking out our reviews and get access to the latest news and exclusive offers.
Advertisement
Rate This Project
User Ratings
★★★★★
★★★★
★★★
★★
Work as expected. This library is helpful when I want to make JStock to support China Stock Market.
Additional Project Details
gptadRenderers['SF_ProjectSum_300x250_A'] = function(){
// jshint ignore:line
if (!SF.adblock) {
$('#div-gpt-ad-5-0').parents('.draper').css("min-height", 250 + 13); // 13 for height of .lbl-ad
googletag.cmd.push(function() {
googletag.display('div-gpt-ad-5-0');
gptadRenderers['SF_ProjectSum_300x250_A']();
// jshint ignore:line
Thanks for helping keep SourceForge clean.
You seem to have CSS turned off.
Please don't fill out this field.
You seem to have CSS turned off.
Please don't fill out this field.
Briefly describe the problem (required):
Upload screenshot of ad (required):
, or drag & drop file here.
Screenshot instructions:
Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here &
(This may not be possible with some types of ads)
Please provide the ad click URL, if possible:
Get latest updates about Open Source Projects, Conferences and News.
Select Country
Afghanistan
Aland Islands
American Samoa
Antarctica
Antigua and Barbuda
Azerbaijan
Bangladesh
Bosnia and Herzegovina
Bouvet Island
British Indian Ocean Territory
Brunei Darussalam
Burkina Faso
Cape Verde
Cayman Islands
Central African Republic
Christmas Island
Cocos (Keeling) Islands
Congo, The Democratic Republic of the
Cook Islands
Costa Rica
Cote D'Ivoire
Czech Republic
Dominican Republic
El Salvador
Equatorial Guinea
Falkland Islands (Malvinas)
Faroe Islands
French Guiana
French Polynesia
French Southern Territories
Guadeloupe
Guinea-Bissau
Heard Island and McDonald Islands
Holy See (Vatican City State)
Iran, Islamic Republic of
Isle of Man
Kazakhstan
Korea, Democratic People's Republic of
Korea, Republic of
Kyrgyzstan
Lao People's Democratic Republic
Libyan Arab Jamahiriya
Liechtenstein
Luxembourg
Madagascar
Marshall Islands
Martinique
Mauritania
Micronesia, Federated States of
Moldova, Republic of
Montenegro
Montserrat
Mozambique
Netherlands
Netherlands Antilles
New Caledonia
New Zealand
Norfolk Island
Northern Mariana Islands
Palestinian Territory
Papua New Guinea
Philippines
Pitcairn Islands
Puerto Rico
Russian Federation
Saint Barthelemy
Saint Helena
Saint Kitts and Nevis
Saint Lucia
Saint Martin
Saint Pierre and Miquelon
Saint Vincent and the Grenadines
San Marino
Sao Tome and Principe
Saudi Arabia
Seychelles
Sierra Leone
Solomon Islands
South Africa
South Georgia and the South Sandwich Islands
Svalbard and Jan Mayen
Switzerland
Syrian Arab Republic
Tajikistan
Tanzania, United Republic of
Timor-Leste
Trinidad and Tobago
Turkmenistan
Turks and Caicos Islands
United Arab Emirates
United Kingdom
United States
United States Minor Outlying Islands
Uzbekistan
Virgin Islands, British
Virgin Islands, U.S.
Wallis and Futuna
Western Sahara
Select State
California
Connecticut
District of Columbia
Massachusetts
Mississippi
New Hampshire
New Jersey
New Mexico
North Carolina
North Dakota
Pennsylvania
Puerto Rico
Rhode Island
South Carolina
South Dakota
Washington
West Virginia
Yes, also send me special offers about products & services regarding:
Network Security
Software Development
Artificial Intelligence
You can contact me via:
Email (required)
JavaScript is required for this form.
I agree to receive these communications from SourceForge.net.
I understand that I can withdraw my consent at anytime. Please refer to our
for more details.
I agree to receive these communications from SourceForge.net via the means indicated above.
I understand that I can withdraw my consent at anytime. Please refer to our
for more details.
You seem to have CSS turned off.
Please don't fill out this field.
You seem to have CSS turned off.
Please don't fill out this field.chinese-to-pinyin
chinese-to-pinyinpublicThe request failed while talking to the backend.在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
var tooldetailsFunc = function(e){
// function tooldetailsFunc(e){
var el = e.
var tooldetails = document.getElementByClassName("details");
// var tooldetails = document.querySelector(".details");
// tooldetails.addEventListener("click", tooldetailsFunc);
// tooldetails.addEventListener("click",tooldetailsFunc);
tooldetails.addEventlistener("click",tooldetailsFunc);
// 这一句无故报错
curencys.js:40 Uncaught TypeError: tooldetails.addEventlistener is not a function
啊,受不了了,为什么 这么简单的函数都报错?我只是想给 相同的类名添加 点击事件!
var tooldetailsFunc = function(e){
// function tooldetailsFunc(e){
var el = e.
var tooldetails = document.getElementByClassName("details");
// var tooldetails = document.querySelector(".details");
// tooldetails.addEventListener("click", tooldetailsFunc);
// tooldetails.addEventListener("click",tooldetailsFunc);
tooldetails.addEventlistener("click",tooldetailsFunc);
Uncaught TypeError: document.getElementByClassName is not a function
感谢各位的无私帮助,我会认真的实习基础的,已经成功,我一点击,就2 嘿嘿
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
别着急兄弟。首先getElementsByClassName返回的是一个元素数组,不能直接绑定事件的。你得取出数组的元素先比如
for(var i = 0; i & tooldetails. i++){
tooldetails[i].addEventlistener("click",tooldetailsFunc);
还是掌握基础先。比如api中传入哪些参数,返回哪些数据。
对了,还有楼下朋友提到的拼写错误。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
兄弟,两个问题,先说第一个:
curencys.js:40 Uncaught TypeError: tooldetails.addEventlistener is nota function
这里表示你 tooldetails这个变量没有addEventlistener方法,检查下,发现拼写错误。addEventListener
再说第二个:
Uncaught TypeError: document.getElementByClassName is not a function
这里表示document没有getElementByClassName这个function, 仔细点,真正的方法名是getElementsByClassName。 你少了一个s。
还有就是这个getElementsByClassName拿出来是一个数组。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
通过className找元素可以找到多个,复数elements,getElementsByClassName。
既然是多个的话,绑定事件要循环绑定
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
addEventListener 大写getElementsByClassName
s建议回去看看基础
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
两处拼写错误,要细心啊同学。
addEventListener
L大写//驼峰命名法
getElementsByClassName
记得加s//理解函数名,className非单一性,所以是复数
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
首先你获取不到元素,你拼写错误,getElementsByClassName其次,这个获得的是一个伪数据,并不是真正的数组元素,但是可以用循环再次,绑定事件是得循环添加
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
拼写错啊,建议楼主用好一点的编辑器,不要用那些没提示的。反而降低效率
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
另外,你可以直接在浏览器下单步调试,看变量是什么类型,都包括哪些方法和参数。这也是个不错的学习途径
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
报错不是很明显了吗。
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。

我要回帖

更多关于 函数的调用 的文章

 

随机推荐