JavaScript新手经常遇到的问题(二)
1、Form表单只提交数据而不进行页面跳转的方法
<form id="form1" method="post" onsubmit="return saveReport();"> function saveReport() {
$("#form1").ajaxSubmit(function(message) {
// 对于表单提交成功后处理,message为提交页面saveReport.htm的返回内容
});
return false; // 必须返回false,否则表单会自己再做一次提交操作,并且页面跳转
}
2、如果要用jq来实现DOM对象的话,需要加个下标
$("#id")是jquary对象,他实际是一个数组对象,他实际是一个数组对象;document.getElementById("id"),它是一个DOM对象 ,可进行DOM操作;
如果要用jq来实现DOM对象的话,需要加个下标。
var docObj = ("#files")[0];//实现dom对象
docObj .innerHTML = "";//jq来操作
注:var docObj = document.getElementById("files"),和$("#files")[0]效果一样
4、jQuery对 动态添加 的元素 绑定事件on()的用法
(1)$(选择器).click(fn)
当选中的选择器被点击时触发回调函数fn。只针对与页面已存在的选择器。
(2)$(document).on('click','要选择的元素',function(){})
on方法包含很多事件,点击,双击等等事件。和$().click()的用法一样,最大的区别是动态创建的元素在该选择器选中范围内是能触发回调函数。 也就是说 页面上元素有添加或变化后仍可绑定
5、闭包
闭包概念:当一个内部函数被调用,就会形成闭包,闭包就是能够读取其他函数内部变量的函数。
不使用闭包,点击事件的函数内部使用外部的变量i一直在变化,当我们指定click事件时并没有保存i的副本
var divs=document.getElementsByTagName("div");
for (var i=0;i<divs.length;i++) {
divs[i].onclick=function(){
alert(i);
}
}
使用闭包
//闭包
var divs=document.getElementsByTagName("div");
for (var i=0;i<divs.length;i++) {
divs[i].onclick=(function(n){
return function(){
alert(n);
}
})(i);
} //第二种方法(推荐)
for(var i=0; i<$("div").length; i++){
$("div")[i].onclick=(function(n){
return function(){
alert(n);
}
})(i)
}
7、阻止移动端浏览器点击图片会预览的几种方法
(1)在img元素上添加 οnclick="return false"
<img src="a.png" onclick="return false" />
(2)CSS方式,图片用背景图的方式插入
background:url(a.png) norepeat center;
(3)使用js事件阻止默认行为的方法,这里需要注意哦!
var img = document.getElementById('banner');
img.addEventListener('click',function(e){
e.preventDefault();
});
8、ajax
$.ajax({
url:"/Hello/zuoYe02",
type:"POST",
//发送到服务器的数据
data:JSON.stringify(emp),
//发送信息至服务器时内容编码类型。
contentType : "application/json;charset=UTF-8",
//预期服务器返回的数据类型;返回的数据类型可以不写,默认接收所有,ajax会自动识别
dataType:"json",
success:function (data) { }
})
9、select获取值
<select id="sel">
<option value="珠海">珠海</option>//value必须有当前的值
<option value="云浮">云浮</option>
</select> var sel=$('#sel').val();
alert(sel); //输出:珠海
10、通过jq设置不可点击
$(this).attr("disabled",true);
$(this).css("cursor","not-allowed");
11、点击获取当前元素的下标
点击列表项可获得其相对于同胞元素的 index 位置,元素必须是相邻的
$("li").click(function(){
alert($(this).index());
});
12、函数的可变参数
function sum(...itme) {
console.log(itme);//这里输出的数组
}
sum(1,2,3,4,5,6);
JavaScript新手经常遇到的问题(二)的更多相关文章
- 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型
前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...
- 我要成为前端工程师!给 JavaScript 新手的建议与学习资源整理
来源于:http://blog.miniasp.com/post/2016/02/02/JavaScript-novice-advice-and-learning-resources.aspx 今年有 ...
- JavaScript学习笔记之数组(二)
JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...
- 【JavaScript】Leetcode每日一题-二叉搜索树的范围和
[JavaScript]Leetcode每日一题-二叉搜索树的范围和 [题目描述] 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和. 示例1: 输入: ...
- SuperMap iClient for JavaScript 新手入门
地理信息系统(英语:Geographic Information System,缩写:GIS)是一门综合性学科,结合地理学与地图学,已经广泛的应用在不同的领域,是用于输入.存储.查询.分析和显示地理数 ...
- javascript oop深入学习笔记(二)--javascript的函数
一.概述: 函数是进行模块化程序设计的基础, javascript重的的函数不同于其他语言,每个函数都作为一个对象被维护和运行.通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或则讲函数作为参 ...
- 高德地图 JavaScript API 开发系列教程(二)
上节简单介绍高德地图JavaScript API及网页中基本地图展示.有了地图后我们可以用来做什么?有人说离我最近的超市在哪里,我怎么去?别急,这些功能我们后面都会慢慢实现.今天为大家详细讲解如何在地 ...
- javascript第二遍基础学习笔记(二)
一.操作符 1.一元操作符: 自加自减(分前置和后置2种):++.-- 区别:前置的先自加或自减,后进行计算:而后置的是先进行计算,后自加或自减(在其会产生负面影响时才能体现区别): ; i++; / ...
- 【2】JavaScript编程全解笔记(二)
你过去的种种经历,就像人生的一颗颗珍珠,在未来的某一天,你找到了那根线,你就会把她们串联起来,变成美丽的项链. 第八章 客户端 JavaScript 与 HTML 1. 浏览器渲染页面的步骤 2. ...
随机推荐
- NOIP模拟 17
这次.. 考场刚了T1T2两题的正解 然后T2A了,T1被毒瘤卡常 让skyh得了rank1,QMQ 话说这次考试体(r)验(p)极(yong)佳(jin) 也许是昨晚没玩狼人杀睡的比较好?(现场%苗 ...
- Windows Server 搭建企业无线认证(Radius认证方案)
认证协议介绍: 扩展认证协议EAP(Extensible Authentication Protocol) 是一个在无线网络或点对点连线中普遍使用的认证框架.它被定义在RFC 3748中,并且使RFC ...
- vue-cli3.X快速创建项目
1.安装 Vue CLI 的包名称由 vue-cli 改成了 @vue/cli. 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过以下方式先卸载它: npm unin ...
- 查看redis占用内存大小的方法
查看redis占用内存大小的方法 <pre>redis-cli auth 密码info</pre><pre># Memory used_memory:1349009 ...
- java编程思想第四版第六章总结
1. 代码重构 为什么f要代码重构 第一次代码不一定是完美的, 总会发现更优雅的写法. 代码重构需要考虑的问题 类库的修改不会破坏客户端程序员的代码. 源程序方便扩展和优化 2. 包 创建一个独一无二 ...
- 修改 processor.php 文件,监听用户对该应用的消息
修改 processor.php 文件,监听用户对该应用的消息 class cgc_fdModuleProcessor extends WeModuleProcessor { public funct ...
- Test Complete 的自动化测试 --- 计算器
Test Complete 的自动化测试 --- 计算器 ·PS:工具:Test Complete, OS: win XP, (win10 不支持该工具的自动化测试) ·该篇博客将会讲1.如何录制 ...
- Redis单节点数据同步到Redis集群
一:Redis集群环境准备 1:需要先安装好Redis集群环境并配置好集群 192.168.0.113 7001-7003 192.168.0.162 7004-7006 2:检查redis集群 [r ...
- 【故障公告】docker swarm 集群问题造成新版博客后台故障
非常抱歉,今天下午 16:55~17:05 左右,由于 docker swarm 集群的突发不稳定问题造成新版博客后台(目前处于灰度发布阶段)无法正常使用,由此给您带来麻烦,请您谅解. 出故障期时,新 ...
- synchronized:内部锁
synchronized:内部锁 起源: 并行程序开发涉及多线程.多任务间的协作和数据共享 一).内部锁:synchronized 1).定义在方法上 public synchronized void ...