下面是代码
//td点击触发的函数
function tdClick() {
//1.取出当前td里面的文本内容
var td = $(this);
var tdText = td.text();
//0.取出字段名称与ID
var id = td.parent().attr('rel');
var field = td.attr('field');
//2.清空td里面的文本内容
td.html(""); //也可以使用td.empty();
//3.建立一个输入框,也就是input标签
var input = $("<input>");
//4.将输入框的内容设为刚才保存的td里面的文本内容
input.attr("value", tdText);
save_rating_data = function() {
//2.保存当前输入框的内容
var input = $(this);
var inputText = input.val(); //这个地方不能用text(),而是用val()
if (field == 'discount') {
if (isNaN(inputText) || inputText > 10) {
alert(lang.please_enter_the_correct_number_of_discount);
return;
}
}
//3.清空td的内容,即去掉输入框
var td = input.parent("span");
td.empty();
//4.将保存的文本内容填充到td中去
td.html(inputText);
//5.让td重新拥有点击事件
td.click(tdClick);
//6.更新商品数据
update_rating_data(field, inputText, id);
}
//4.5.让文本框能够响应键盘按下的keyup事件,主要是用于处理回车确认
input.keyup(function(event) {
//1.获取当前用户按下的键值
//解决不同浏览器获得事件对象的差异,
// IE用自动提供window.event,而其他浏览器必须显示的提供,即在方法参数中加上event
var myEvent = event || window.event;
var keyCode = myEvent.keyCode;
//2.判断是否是回车按下
if (keyCode == 13) {
//2.保存当前输入框的内容
var input = $(this);
var inputText = input.val(); //这个地方不能用text(),而是用val()
if (field == 'discount') {
if (isNaN(inputText) || inputText > 10) {
alert(lang.please_enter_the_correct_number_of_discount);
return;
}
}
//3.清空td的内容,即去掉输入框
var td = input.parent("span");
td.empty();
//4.将保存的文本内容填充到td中去
td.html(inputText);
//5.让td重新拥有点击事件
td.click(tdClick);
//6.更新商品数据
update_rating_data(field, inputText, id);
}
});
input.blur(save_rating_data);
//5.将输入框加到td中
td.append(input); //也可以用input.appendTo(td);
//5.5 让文本框中的文字被高亮选中
//需要将jquery对象转化为DOM对象
var inputDom = input.get(0);
inputDom.select();
//6.需要移除td上的点击事件
td.unbind("click");
};
这里有个光标离开触发
input.blur(save_rating_data);
if (keyCode == 13) {
这里有个回车触发我也想调用
save_rating_data()
却不支持,应该如何写?
å车ååºæ²¡é®é¢ï¼é®é¢å¨äºæ¹æ³è°ç¨ã
if (keyCode == 13) {
save_rating_data();
}
save_rating_dataæ¹æ³ä¸è½è¿æ ·è°ç¨ã请æé®é¢çæ¸
ååçã
å¦,ä½ ç
save_rating_dataæ¹æ³éå¤æä¸ä¸ï¼å¦æthis为nullï¼å°±è·åä¸ä¸ªæå®ç对象åï¼
save_rating_data = function() {
if(this && this != document)
var input = $(this);
else
var input = $("#xxxx");
1.å¨ä¸æ¹åå½æ°çæ
åµä¸ï¼ä¸è½è°ç¨åï¼
2.å 为è¿ä¸ªinputæ¯å¨æçæï¼æ²¡IDï¼ææ¯éæ©å¨ï¼ä½ç½®ä¹æ¯åå¨çï¼æ以ä¸è½è¿æ ·éæ©ã
ä¸æ¹åå½æ°çæ
åµä¸ï¼ä¸è½è°ç¨ï¼å ä¸ºä½ è¿ä¸ªå½æ°éç¨äºthisï¼èkeyupäºä»¶ååºçä¸ä¸å®æ¯è¿ä¸ªinputï¼é¤éä½ åå¨inputçkeyupäºä»¶é
è³äºä½ 说çinputæ¯å¨æçï¼ä½ å®å
¨å¯ä»¥é便å ä¸ä¸ªå±æ§ç»å®ï¼ç¶åéè¿è¿ä¸ªå±æ§å»éæ©