初学者全面接触学习jquery(译文)
2007-11-12 22:22:18 来源:网页教学网 站长整理
- $('.saveButton'.click(function(){saveChanges(this, false;});
- $('.cancelButton'.click(function(){saveChanges(this, revert;});
为两个按钮定义click事件。 网页教学网
- .mouseover(function() {
- $(this.addClass("editable";
- })
- .mouseout(function() {
- $(this.removeClass("editable";
- });
定义鼠标移入和移走事件。
接着定义saveChanges函数
- function saveChanges(obj, cancel { ... }
如果cancle是false的话,那就意味着要保存编辑后的内容
网页教学网
- if (!cancel {
- var t = $(obj.parent().siblings(0.val();
- // ...
- }
parent()对应的是input外面的div,siblings对应的是相邻的dom,0指的是前面的dom,也就是
- <textarea rows="10" cols="60">' + $(this).html() + '</textarea>
接下来该来点关键的了
Webjx.Com
- $.post("test2.php",{content: t},function(txt){
- alert(txt;
- });
jquery的ajax方法,.post表示以post方式提交,第一个参数是目标页面,在这里就是”test2.php”,第二个参数是提交的内容,最后是回调函数。txt是服务端传递过来的参数。
- else {
- var t = cancel;
- }
如果cancle不为false的话,就执行revert()方法。 网页教学网
- $(obj.parent().parent().after('<div id="editInPlace">'+t+'</div>'.remove() ;
移走textarea和button,恢复原状。
最后再调用setClickable方法就可以了,所有的js
- $(document.ready(function(){
- setClickable();
- });
- function setClickable() {
- $('#editInPlace'.click(function() {
- var textarea = '<div><textarea rows="10" cols="60">'+$(this.html()+'</textarea>';
- var button = '<div><input type="button" value="SAVE" class="saveButton" /> OR <input type="button" value="CANCEL" class="cancelButton" /></div></div>';
- var revert = $(this.html();
- $(this.after(textarea+button.remove();
- $('.saveButton'.click(function(){saveChanges(this, false;});
- $('.cancelButton'.click(function(){saveChanges(this, revert;});
- })
- .mouseover(function() {
- $(this.addClass("editable";
- })
- .mouseout(function() {
- $(this.removeClass("editable";
- });
- };
- function saveChanges(obj, cancel {
- if(!cancel {
- var t = $(obj.parent().siblings(0.val();
- $.post("test2.php",{
- content: t
- },function(txt){
- alert( txt;
- });
- }
- else {
- var t = cancel;
- }
- if(t=='' t='(click to add text)';
- $(obj.parent().parent().after('<div id="editInPlace">'+t+'</div>'.remove();
- setClickable();
- }






文章评论
共有 0 位网友发表了评论 查看完整内容