Java实习问题记录

1. $(window).height() 获取屏幕高度

2. $("#chartbottomdiv").width() 某个控件的属性 用"."

3. // 保留两位小数

function twotoFixed(value) {

if (value == null || value == "" || value == undefined) {

return value;

} else {

value = value.toFixed(2);保留两位小数

value = value.toFixed(3);保留三位小数

return value;

}

}

// 保留三位有效数字

function threeEffective(value) {

if (value == null || value == "" || value == undefined) {

return value;

} else {

if (value < 1000) {

value = value.toPrecision(3);

} else {

value = value.toFixed(0);

}

return value;

}

}

4. .each的用法

var arr = [ "one", "two", "three", "four"];

$.each(arr, function(){

alert(this);

});

//上面这个each输出的结果分别为:one,two,three,four

var arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]]

$.each(arr1, function(i, item){

alert(item[0]);

});

//其实arr1为一个二维数组,item相当于取每一个一维数组,

//item[0]相对于取每一个一维数组里的第一个值

//所以上面这个each输出分别为:1 4 7

var obj = { one:1, two:2, three:3, four:4};

$.each(obj, function(i) {

alert(obj[i]);

});

//这个each就有更厉害了,能循环每一个属性

//输出结果为:1 2 3 4

5. // 获取页面参数 代替${name} 使用下面的方法

function getUrlParam(name) {

// 构造一个含有目标参数的正则表达式对象

var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");

// 匹配目标参数

var r = window.location.search.substr(1).match(reg);

// 返回参数值

if (r != null)

return decodeURI(r[2]);

return null;

}

6. 将数据库传出的时间格式变为 ”8月31日“这种格式

function getTime(value){

var Month=value.substring(0,2);

var Day=value.substring(2,4);

var Result=Month+"月"+Day+"日";

return Result;

}

7. 改变窗口大小的时候触发的事件

window.onresize = function() {

setContainerSIze();//需要执行的方法

};

8. 给某个标签或控件 在js中添加事件

$("#line input(在什么上添加事件 定位)").on('ifChanged(事件分类 例如点击事件 改变事件 选中事件)', function(event) {

});

9. select 双击移除内容事件

$('#overStation(select ID)').dblclick(function() {

$('#overStation option:selected').remove();

}).mousedown(function(e) {

// 右击

if (e.which == 3) {

$(this).children("option:selected").remove();

}

}).bind("contextmenu", function() {

return false;

});

10. 给 append 到页面上的内容添加事件 使用代理

$("#group(父容器的ID)").delegate(".group(要添加事件的class)", "click", function() {

listGroupInfo();//要执行的方法

});

11. 处理ajax后台传过来的数组

success : function(data) {

var json = eval(data); // 数组

$.each(json, function(index, item) {

// 循环获取数据

var name = json[index].groupname;

groupname 是data的属性

}

12. // select的值全部移除 两种均可

(1)function deleteOptions() {

var obj = document.getElementById('overStation');

var selectOptions = obj.options;获取select中的内容

var optionLength = selectOptions.length;

for (var i = 0; i < optionLength; i++) {

obj.removeChild(selectOptions[0]);

}

}

(2)$("#group").html("");

13. 在提示确认之后刷新 避免刷新时提示只是闪过的情况

$.messager.alert({

title : '操作提示',

msg : '删除分组成功',

fn : function() {

window.location.reload();

}

});

14. 四舍五入取整 Math.round(value)

15. 过滤eWebeditor等富文本中的html标签,获得纯文本

/// <summary>

/// 过滤html标签

/// </summary>

/// <param name="Htmlstring"></param>

/// <returns></returns>

public string ParseTags(string Htmlstring)

{

//删除脚本

Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);

//删除<style></style>样式

Htmlstring = Regex.Replace(Htmlstring, @"<style[^>]*?>[\s\S]*?</style>", "", RegexOptions.IgnoreCase);

//删除HTML

Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);

Htmlstring.Replace("<", "");

Htmlstring.Replace(">", "");

Htmlstring.Replace("\r\n", "");

Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();

return Htmlstring;

}

16. 绑定事件方式(针对未来的元素 就是在js中append的元素)

(1)jquery1.9版本以下支持,jquery1.9及其以上版本删除了此方法,jquery1.9以上版本用on()方法来代替。

delegate() 为指定的元素(被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。

使用方式 

  $(selector).delegate(childSelector,event,data,function)

  childSelector: 必需项;需要添加事件处理程序的元素,一般为selector的子元素;

  event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;

      单事件处理:例如 $(selector).delegate(childselector,"click",data,function);

      多事件处理:1.利用空格分隔多事件,例如 $(selector).delegate(childselector,"click dbclick mouseout",data,function);

            2.利用大括号灵活定义多事件,例如 $(selector).delegate(childselector,{event1:function, event2:function, ...}) 

            3.空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;

             大括号替代方式:绑定较为灵活,可以给事件单独绑定函数;   

  data:可选;需要传递的参数;

  function:必需;当绑定事件发生时,需要执行的函数;

(2)$(selector).on(event,childselector,data,function)

  event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;

      单事件处理:例如 $(selector).on("click",childselector,data,function);

      多事件处理:1.利用空格分隔多事件,例如 $(selector).on("click dbclick mouseout",childseletor,data,function);

            2.利用大括号灵活定义多事件,例如 $(selector).on({event1:function, event2:function, ...},childselector); 

            3.空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;

             大括号替代方式:绑定较为灵活,可以给事件单独绑定函数; 

  childSelector: 可选;需要添加事件处理程序的元素,一般为selector的子元素;  

  data:可选;需要传递的参数;

  function:必需;当绑定事件发生时,需要执行的函数;