我在此页面上使用了JS代码{{3}} 当我按下十字标志时,会发生2个事件(模糊和点击),但只有模糊代码运行。我需要反对,点击交叉代码。 我怎么能这样做?
$(function(){clickOnLink();});
function clickOnLink(){
$("span.link").on({
click: function(){
var linkId = $(this).text().replace(/\D+/g,"");
var id = $(this).attr("id");
var idNum = $(this).attr("id").replace(/\D+/g,"");
var idType = "link_"+$(this).attr("id").replace(/\d+/g,"");
var result = "<span class='link'>Переход на link</span> <input type='text' id='"+id+"' value='"+linkId+"'> <span><span class='plus'>+</span><span class='cross'>✘</span></span>";
$(this).replaceWith(function(index, oldHTML){
return result;
});
$("input").focus();
clickOnCross();
blurOnInput();
}
});
};
function clickOnCross(){
$("span.cross").on({
click: function(){
$(this).remove();
}
});
};
function blurOnInput(){
$("input").on({
blur: function(){
$(this).prev().remove();
$(this).next().remove();
var idName = $(this).attr("id");
var idNum = $(this).attr("id").replace(/\D+/g,"");
var idType = "link_"+$(this).attr("id").replace(/\d+/g,"");
$(this).replaceWith(function(index, newHTML){
var linkId = $(this).val();
var linkIdDb = "link"+$(this).val();
$.get("handlers/send_link.php", {
id: idNum,
ans: idType,
linkid: linkIdDb }
);
var result = "<span class='link' id='"+idName+"'>Переход на link"+linkId+". <a href='#link"+linkId+"'>⇗</a></span>";
return result;
});
clickOnLink();
}
});
};
答案 0 :(得分:0)
您移除blur
事件上的十字架,该事件在mousedown
上触发,在调用click
事件之前,以及您希望触发click
事件的时间,cross
中没有DOM
元素。
如果您想在十字标志的click
事件上绑定某些内容,请不要在DOM
事件的blur
事件中将其从input
移除} field。