我有几个输入元素,它们的行为类似于下拉元素,其方式与 jquery 日期事件 ui 的工作方式类似。由于应用程序的性质,这需要保持这种方式。我已将元素设置为不可编辑。这将允许应用程序在其下构建一个带有选项列表的伪下拉菜单,同时防止用户直接操作它。单击后,jQuery 插件会将值分配给该输入。
问题是有一个验证检查器被触发onblur
,所以看起来验证器过早地验证,当然它工作正常。我不想重写验证器插件。
有没有办法防止焦点或模糊事件在该特定点击事件中一起发生?
这是一个挑战挑战的js小提琴
http://jsfiddle.net/powerphillg5/YHgKQ/
这是那里的代码,因为在提供链接#law-abidingcitizen 时,我们必须在这里有代码:
<input type="text" id="my_input" value="Click me." />
<script>
$('#my_input').blur(function(){
alert("Prevent me without removing the blur() and function that caused me!");
});
$("#my_input").click(function(){
$(this).after("<ul>\
<li data-value='value1' class='click_me'>Now, click me,</li>\
<li data-value='value1' class='click_me'>or me!</li>\
</uL>");
$(".click_me").click(function(){
$("#my_input").val($(this).data("value"));
$(this).parent().remove();
$("#my_input").after("<img src='http://harrisongreetingcards.net/images/1316_thank_you_for_your_time_note_card.png' />");
})
});
</script>