绑定点击事件
<input id ="button" type="button" value="搜搜" />
$("#button").click(function () {
//#button 是点击按钮的id
//执行自己需要的操作;
});
jquery中的$("#id")与document.getElementById(“id”)的区别,请看以下链接
绑定enter事件
<input id ="inputid" type="text" value="" placeholder="请输入内容" />
$(function(){
$('#inputid').bind(
'keypress',function(event){
if(event.keyCode == "13") {
//执行对应的操作
}
});
});
html A页面跳转到B页面,并传参、取值
在A页面在需要跳转的方法、操作写如下
window.location.href = 'B.html?value=123';
在B对应的地方取值:1
var value = $.query.get("value");//需要 jquery.params.js 包,下载地址可自行百度,或者随后上传
取值:2
layui模板引擎,渲染样式
//布局
<div id="div1">
<script id="sc1" type="text/html">
//渲染时值对应的位置,在对应的位置取值
<div>
{{# layui.each(d.List, function(index, item){ }}
{{item.key}}
{{# }); }}
</div>
</script>
</div>
//渲染代码
//data 是需要渲染的数据
layui.laytpl($("sc1").html()).render(data, function(html){
$("#div1").html(html)
});
渲染的方法,写在了页面加载时就运行的地方,当打开页面或者刷新的时候机会去导入的data参数读取内容,进行遍历等操作,以及渲染样式。
Ajax 异步传输数据,动态更新内容
var url ="###";
$.ajax({
url: url,
data:{
"A":'A',
"B":'b',
"c":'c'
},
type: "POST",
dataType: "json",
success: function(data) {
//第一次加载页面,此处不会报错,往后便会报错
//layui.laytpl(.....).render(...)......not a function
layui.laytpl($("sc1").html()).render(data, function(html){
$("#div1").html(html)
});
}
});
经过分析,当第一次页面加载,刷新的时候 $(“sc1”).html() 得到了样式,但是当异步加载完成后,渲染的时候 $(“sc1”).html() 此方法得到的 untified ,无法调用render方法,就得到了以上的报错信息。
我的解决方法是,第一次加载的时候,将 $(“sc1”).html() 得到的样式保存在全局变量,以后异步加载的使用即可,目前测试正常,(不太了解这块内容,此方法可能不合规矩,)
ajax异步传输遇到的问题
问题描述:
一个点击事件执行两个ajax方法,第一个方法存储,第二个读取,向后台访问两次,后台加了Debug和没加Debug返回的结果不同;
原因:
方法一:做的是存储操作,需要修改数据库对应的表
方法二:做的是读取操作
异步传输的时候两个方法互不干涉,虽然调用的时候有顺序 ,上下位置,但是也会各自执行,可能也是同时执行,方法一还未执行完毕存储操作,方法二就可能已经执行完了读取的操作,导致方法二读不到方法一入库的数据,记为A结果,如果方法一执行完毕,方法二在读取,记为B结果,此时极大可能AB不同;如果在方法二读取数据库过程中debug,方法一很有可能已经执行完毕,方法二读取的内容便是最新的(包含方法一入库的数据)
解决:如果想要互相影响,加上ajax的异步属性async: false即可
以上内容不专业,只是个人的浅显的理解,存在错误的观点 还望高手指点