Javascript 对同一事件但不同对象具有相同的函数jquery
我正在用jquery创建一个动态LI 我有这个jquery来更改li的名称。我不想为此创建一个ID为li的新函数。我不认为这是最好的方法。如果我加上100 li,我将有100个函数。这是最好的方法 我这里有我的演示:Javascript 对同一事件但不同对象具有相同的函数jquery,javascript,jquery,html,twitter-bootstrap,Javascript,Jquery,Html,Twitter Bootstrap,我正在用jquery创建一个动态LI 我有这个jquery来更改li的名称。我不想为此创建一个ID为li的新函数。我不认为这是最好的方法。如果我加上100 li,我将有100个函数。这是最好的方法 我这里有我的演示: $(“#pTabP”).dblclick(函数(){ $(“#tabPr1”).hide().sides(“.edit”).show().val($(“#tabPr1”).text()).focus(); }); $(“#fTab”).dblclick(函数(){ $(
-
-
$(“#pTabP”).dblclick(函数(){
$(“#tabPr1”).hide().sides(“.edit”).show().val($(“#tabPr1”).text()).focus();
});
$(“#fTab”).dblclick(函数(){
$(“#tabG1”).hide().sides(“.edit”).show().val($(“#tabG1”).text()).focus();
});
$(“.edit”).focusout(函数(){
$(this.hide().sides(“.display”).show().text($(this.val());
});
您可以这样做:
function getDblClickHandler (targetSelector) {
return function () {
var $target = $('#' + targetSelector);
$target.hide();
$target.siblings(".edit")
.show()
.val($target.text())
.focus();
};
}
$("#pTabP").dblclick(getDblClickHandler('#tabPr1'));
$("#fTab").dblclick(getDblClickHandler('#tabG1'));
或者,更紧凑:
var mappings = [
{ from: '#pTabP', to: '#tabPr1'},
{ from: '#fTab', to: '#tabG1'}
];
$.each(mappings, function (k, mapping) {
$(mapping.from).dblclick(getDblClickHandler(mapping.to));
});
你可以这样做:
function getDblClickHandler (targetSelector) {
return function () {
var $target = $('#' + targetSelector);
$target.hide();
$target.siblings(".edit")
.show()
.val($target.text())
.focus();
};
}
$("#pTabP").dblclick(getDblClickHandler('#tabPr1'));
$("#fTab").dblclick(getDblClickHandler('#tabG1'));
或者,更紧凑:
var mappings = [
{ from: '#pTabP', to: '#tabPr1'},
{ from: '#fTab', to: '#tabG1'}
];
$.each(mappings, function (k, mapping) {
$(mapping.from).dblclick(getDblClickHandler(mapping.to));
});
你可以这样做:
function getDblClickHandler (targetSelector) {
return function () {
var $target = $('#' + targetSelector);
$target.hide();
$target.siblings(".edit")
.show()
.val($target.text())
.focus();
};
}
$("#pTabP").dblclick(getDblClickHandler('#tabPr1'));
$("#fTab").dblclick(getDblClickHandler('#tabG1'));
或者,更紧凑:
var mappings = [
{ from: '#pTabP', to: '#tabPr1'},
{ from: '#fTab', to: '#tabG1'}
];
$.each(mappings, function (k, mapping) {
$(mapping.from).dblclick(getDblClickHandler(mapping.to));
});
你可以这样做:
function getDblClickHandler (targetSelector) {
return function () {
var $target = $('#' + targetSelector);
$target.hide();
$target.siblings(".edit")
.show()
.val($target.text())
.focus();
};
}
$("#pTabP").dblclick(getDblClickHandler('#tabPr1'));
$("#fTab").dblclick(getDblClickHandler('#tabG1'));
或者,更紧凑:
var mappings = [
{ from: '#pTabP', to: '#tabPr1'},
{ from: '#fTab', to: '#tabG1'}
];
$.each(mappings, function (k, mapping) {
$(mapping.from).dblclick(getDblClickHandler(mapping.to));
});
我在每个跨度中添加了一个edit_text类。一旦你双击它,它就会自动找到文本框并显示出来 我很确定这就是你想要的:
我在每个跨度中添加了一个edit_text类。一旦你双击它,它就会自动找到文本框并显示出来 我很确定这就是你想要的:
我在每个跨度中添加了一个edit_text类。一旦你双击它,它就会自动找到文本框并显示出来 我很确定这就是你想要的:
我在每个跨度中添加了一个edit_text类。一旦你双击它,它就会自动找到文本框并显示出来 我很确定这就是你想要的: 试一试 jshiddle试试看 jshiddle试试看 jshiddle试试看
jsfiddle但是如果我开始创建更多的li,我将不得不添加更多的$(“#fTab”).dblclick(getDblClickHandler('tabG1');这意味着我也会遇到同样的问题。我不知道你到底是什么意思,但在我的第二个版本中,你只需要为每个li添加一行。但是如果我开始创建更多li,我将不得不添加更多的$(“#fTab”).dblclick(getDblClickHandler('tabG1');这意味着我也会遇到同样的问题。我不知道你到底是什么意思,但在我的第二个版本中,你只需要为每个li添加一行。但是如果我开始创建更多li,我将不得不添加更多的$(“#fTab”).dblclick(getDblClickHandler('tabG1');这意味着我也会遇到同样的问题。我不知道你到底是什么意思,但在我的第二个版本中,你只需要为每个li添加一行。但是如果我开始创建更多li,我将不得不添加更多的$(“#fTab”).dblclick(getDblClickHandler('tabG1');这意味着我会有同样的问题。我不知道你到底是什么问题,但在我的第二个版本中,你只需要在每一个li中添加一行。