1. mouseenter   当鼠标指针进入(穿过)元素时,触发事件

  var is_enter_help = false;
$("#help-div").mouseenter(function(){
is_enter_help = true;
});
$("#help-div").mouseleave(function(){
is_enter_help = false;
});

# 定义一个标志位,并在鼠标指针指向时,置为True
$(document).click(function(){
if(is_enter_help){
$('#siber').css({'display':'none'});
$('#siber-content').css({'display':'inline'})
$('.page-quick-sidebar-wrapper').addClass('page-quick-sidebar-open');
$('#siber-text').css({'display':'block'});
$('#siber-text').addClass('show-style');
}else{
if($(event.srcElement).is("#siber-text,#siber-text *")) {
$('#siber').css({'display':'none'});
} else {
$('#siber').css({'display':'block'});
$('#siber').addClass("bounceInRight");
$('#siber-text').css({'display':'none'})
}
}
})

该代码段主要用于打开右侧关键字系统

2. $(selector).val(value)  返回或设置被选元素的值

val():获取或者改变指定元素的value值(一般是表单元素)

元素的值是通过 value 属性设置的。该方法大多用于 input 元素。

如果该方法未设置参数,则返回被选元素的当前值。

设置了value值,表示设置value属性值

 3.  JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。

语法

JSON.stringify(value[, replacer[, space]])

参数说明:

  • value:

    必需, 要转换的 JavaScript 值(通常为对象或数组)。

  • replacer:

    可选。用于转换结果的函数或数组。

    如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:""。

    如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。

  • space:

    可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 也可以使用非数字,如:\t。

4. $.ajax()方法详解

1.url
要求为String类型的参数,(默认为当前页地址)发送请求的地址。

2.type
要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。

3.timeout
要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设置。

4.async
要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。

5.cache
要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false),设置为false将不会从浏览器缓存中加载请求信息。

6.data
要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看  processData选项。对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。

7.dataType
要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。可用的类型如下:
xml:返回XML文档,可用JQuery处理。
html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。
json:返回JSON数据。
jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。
text:返回纯文本字符串。

8.beforeSend
要求为Function类型的参数,发送请求前可以修改XMLHttpRequest对象的函数,例如添加自定义HTTP头。在beforeSend中如果返回false可以取消本次ajax请求。XMLHttpRequest对象是惟一的参数。
            function(XMLHttpRequest){
               this;   //调用本次ajax请求时传递的options参数
            }
9.complete
要求为Function类型的参数,请求完成后调用的回调函数(请求成功或失败时均调用)。参数:XMLHttpRequest对象和一个描述成功请求类型的字符串。
          function(XMLHttpRequest, textStatus){
             this;    //调用本次ajax请求时传递的options参数
          }

10.success:要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。
         (1)由服务器返回,并根据dataType参数进行处理后的数据。
         (2)描述状态的字符串。
         function(data, textStatus){
            //data可能是xmlDoc、jsonObj、html、text等等
            this;  //调用本次ajax请求时传递的options参数
         }

11.error:
要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。ajax事件函数如下:
       function(XMLHttpRequest, textStatus, errorThrown){
          //通常情况下textStatus和errorThrown只有其中一个包含信息
          this;   //调用本次ajax请求时传递的options参数
       }

12.contentType
要求为String类型的参数,当发送信息至服务器时,内容编码类型默认为"application/x-www-form-urlencoded"。该默认值适合大多数应用场合。

13.dataFilter
要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。
            function(data, type){
                //返回处理后的数据
                return data;
            }

14.dataFilter
要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。
            function(data, type){
                //返回处理后的数据
                return data;
            }

15.global
要求为Boolean类型的参数,默认为true。表示是否触发全局ajax事件。设置为false将不会触发全局ajax事件,ajaxStart或ajaxStop可用于控制各种ajax事件。

16.ifModified
要求为Boolean类型的参数,默认为false。仅在服务器数据改变时获取新数据。服务器数据改变判断的依据是Last-Modified头信息。默认值是false,即忽略头信息。

17.jsonp
要求为String类型的参数,在一个jsonp请求中重写回调函数的名字。该值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,例如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

18.username
要求为String类型的参数,用于响应HTTP访问认证请求的用户名。

19.password
要求为String类型的参数,用于响应HTTP访问认证请求的密码。

20.processData
要求为Boolean类型的参数,默认为true。默认情况下,发送的数据将被转换为对象(从技术角度来讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。

21.scriptCharset
要求为String类型的参数,只有当请求时dataType为"jsonp"或者"script",并且type是GET时才会用于强制修改字符集(charset)。通常在本地和远程的内容编码不同时使用。

案例代码:

$(function(){
$('#send').click(function(){
$.ajax({
type: "GET",
url: "test.json",
data: {username:$("#username").val(), content:$("#content").val()},
dataType: "json",
success: function(data){
$('#resText').empty(); //清空resText里面的所有内容
var html = '';
$.each(data, function(commentIndex, comment){
html += '<div class="comment"><h6>' + comment['username']
+ ':</h6><p class="para"' + comment['content']
+ '</p></div>';
});
$('#resText').html(html);
}
});
});
});

22.顺便说一下$.each()函数:
$.each()函数不同于JQuery对象的each()方法,它是一个全局函数,不操作JQuery对象,而是以一个数组或者对象作为第1个参数,以一个回调函数作为第2个参数。回调函数拥有两个参数:第1个为对象的成员或数组的索引,第2个为对应变量或内容。

  $.ajax({
"type": "POST",
"url": '{% url 'run_cli' %}',
"data": test,
// "success": function(){}
})

这段代码是调用CMD命令行执行pybot命令。用于脚本用例执行的

 5.

     function dirDataSource(options, callback){
$.ajax({
'url': '{% url 'list_tree' %}',
'data': {
'suite_id': options.attr?options.attr.suite_id:suite_id,
"project_id": {{ project_id }},
'path': options.attr?options.attr.path:contents
} // first call with be an empty object
}).done(function(json_data) {
callback({
data: json_data
});
});
}
// });

解析views方法,获取整个用例树json格式数据信息,.done函数是ajax方法,在ajax执行成功后执行done函数,done函数中的参数json_data来自于ajax的返回值,若ajax执行出错,done则不执行

 

6. ace_tree:

else if("type" in options && options.type == "folder") {
    if("additionalParameters" in options && "children" in options.additionalParameters)
      $data = options.additionalParameters.children;//点击父节点,加载子节点
    else $data = {}//no data
  }

7.Handsontable

常规配置:

1.固定行列位置

fixedRowsTop:行数 //固定顶部多少行不能垂直滚动

fixedColumnsLeft:列数 //固定左侧多少列不能水平滚动

2.拖拽行头或列头改变行或列的大小

manualColumnResize:true/false//当值为true时,允许拖动,当为false时禁止拖动

manualRowResize:true/false//当值为true时,允许拖动,当为false时禁止拖动

3.延伸列的宽度

stretchH:last/all/none 
//last:延伸最后一列,all:延伸所有列,none默认不延伸。

4.手动固定某一列

manualColumnFreeze: 
true/false

//当值为true时,选中某一列,右键菜单会出现freeze 
this column选项,该选项的作用是固定这一列不可水平滚动,并会将这一列移动到非固定列的前面。再次右键菜单会出现unfreeze this column,意思是取消该列的固定,并将其还原到初始位置。

5.拖动行或列到某一行或列之后

manualColumnMove:true/false 
当值为true时,列可拖拽移动到指定列

manualRowMove:true/false 
当值为true时,行可拖拽至指定行

当属性的值为true时,行头或列头可以被拖拽移动,移动后该行或列将会被移动到指定位置,原先该行或列的后面部分自动上移或后退。移动的时候鼠标需选中行线或列线才行。

6.设置当前行或列的样式

currentRowClassName:当前行样式的名称

currentColClassName:当前列样式的名称

7.行分组或列分组

groups:[{cols:[0,2]},{cols:[3,5]},{rows:[0,4]},{rows:[5,7]}]

上面的例子介绍了4个分组,第0-2列为一组,第3-5列为第二组,第0-4行为一组,第5-7列为第二组。分组可在行头或列头看见,分组可被展开或隐藏。

8.允许排序

columnSorting:true/false/对象 
//当值为true时,表示启用排序插件

当值为true时,排序插件的使用可通过点击列头文字实现。当值为false时表示禁用排序。当值为对象时,该对象包含两个属性:column:列数。sortOrder:true/false,升序或降序,true为升序排列。当用对象启动插件后可用如下方式禁用插件:

hot.updateSettings({

columnSorting:false

});

排序的使用也可已直接调用sort()方法实现。如下操作:

if(hot.sortingEnabled){

hot.sort(行数,true/false); 
//true为升序,false为降序

}

9.显示行头列头

colHeaders:true/fals/数组 
//当值为true时显示列头,当值为数组时,列头为数组的值

rowHeaders:true/false/数组 
//当值为true时显示行头,当值为数组时,行头为数组的值

10.数据显示

data:[[第一行数据],[第二行数据],…[第n行数据]]/对象数组

获取数据的方法:hot.getData()。

加载数据的方法:hot.loadData(data)。

当不需要显示某一列的时候可用如下格式设置:

columns:[

{data:0},

{data:2}

]

这里就不显示第二列数据,只有第1、3列数据

11.右键菜单展示

contextMenu:true/false/自定义数组 //当值为true时,启用右键菜单,为false时禁用

12.自适应列大小

autoColumnSize:true/false //当值为true且列宽未设置时,自适应列大小

13.minCols:最小列数

minRows:最小行数

minSpareCols:最小列空间,不足则添加空列

maxCols:最大列数

maxRows:最大行数

minSpareRows:最小行空间,不足则添加空行

14.observeChanges:true/false //当值为true时,启用observeChanges插件

15.colWidths:[列宽1,列宽2,…]/列宽值

 以下代码用于展示右侧,用例数据,以电子表格的形式

           if (data.target.attr.id){
if (data.target.attr.item_type == "testcase" || data.target.attr.item_type == "keyword"){
$.ajax({
url: "{% url 'table_testsuite' %}",
data: {id: data.target.attr.id, item_type: data.target.attr.item_type},
success: function (json_data) {
var json_data = jQuery.parseJSON(json_data);
$("#settings_table").handsontable({
data: json_data["settings"],
rowHeaders: true,
colHeaders: false,
minSpareCols: 1,
minSpareRows: 1,
contextMenu: true,
allowInsertColumn: false,
allowRemoveColumn: false,
preventOverflow: "horizontal"
});
var ins = $("#testcases_table").handsontable({
data: json_data["contents"].length ? json_data["contents"] : undefined,
rowHeaders: true,
colHeaders: false,
minSpareCols: 1,
minSpareRows: 1,
contextMenu: true,
manualRowMove: true,
allowInsertColumn: false,
allowRemoveColumn: false,
preventOverflow: "horizontal",
cells: function (row, col, prop) {
var cellProperties = {};
cellProperties.renderer = cell_render; // uses function directly
return cellProperties;
}
}).handsontable("getInstance");
function cell_change(changes, source) {
if (source != "loadData"){
$(changes).each(function (index, element) {
var row = element[0];
var col = element[1];
var val = element[3];
if (is_for_line_begin(ins, row, col)){
if (val && !ins.getDataAtCell(row, col - 1))
ins.setDataAtCell(row, col - 1, "\\");
else if (ins.getDataAtCell(row, col - 1) == "\\" && !val){
ins.setDataAtCell(row, col - 1, "");
}
}
})
}
}
ins.addHook("afterChange", cell_change);
},
error: function(){
alert("获取用例失败!\r\n请尝试刷新本页面,若仍存在该错误请联系管理员");
}
});
}
}

 

<学习笔记之 JQuery>的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. Dijkstra学习总结

    啥叫堆 可以看一下这个 https://www.cnblogs.com/xiugeng/p/9645972.html#_label0普通Dijkstra可以看一下 https://blog.csdn. ...

  2. alg-最长回文字符串

    class Solution { public: std::string longestPalindrome(const std::string& s) { if (s.empty()) { ...

  3. 钩子函数 Function类

    Function 为 com.google.common.base包下接口类: public interface Function<F, T> { @Nullable T apply(@N ...

  4. AJ学IOS 之小知识之_xcode插件的删除方法_自动提示图片插件KSImageNamed有时不灵_分类或宏之类不能自动提示,

    AJ分享,必须精品 一:解决解决自动提示图片插件KSImageNamed有时不灵_分类或宏之类不能自动提示 其实,插件神马的我们自己也能写,并没有想象中的那么难,不过目前我们还是先解决当前问题 在做微 ...

  5. 使用malloc和free函数进行内存动态分配

    一.在学习c语言里面,内存分配这个话题非常有意思,因为我们平时在开发的时候,如果一不小心没注意内存释放的话,写的的程序很容易出错,所以今天就来回顾一下c语言里面的内存动态分配,下面我们先来看一个实例来 ...

  6. PDF各种骚操作如何用python实现

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: wLsq PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...

  7. @SessionAttributes 的使用

    @SessionAttributes 注解只用作用在 类 上,作用是将指定的 Model 的键值对保存在 session 中.可以让其他请求共用 session 中的键值对. 指定保存的属性名 作用是 ...

  8. redis:安装及基础知识(一)

    Redis官网:https://redis.io/ Redis中文网:http://www.redis.cn/ Redis 是一个开源的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. ...

  9. 它来了!它来了!Seata Go Client 它来了!!!

    抱歉抱歉,这个标题一看就是个很标题党的标题.本文所述的 Seata Go Client 只支持 TCC 模式,并不像 Java 版的能支持到 AT 模式.SAGA 模式.XA 模式,聊胜于无.说到这里 ...

  10. Java中Character类

    Character 类在对象中包装一个基本类型char的值此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等),并将字符从大写转小写,反之亦然. 构造方法: Character(char ...