我环顾四周寻找答案,但过了一会儿却找不到任何东西。我正在运行jQuery mobile并且有一个列表视图,其中包含一些我想要成为链接和输入字段的列表。但是当我点击在文本字段中输入时,它也会自动按下按钮。
基本上我尝试做的是拥有一个用户可以修改的输入表单,然后让他们点击表单外的任何地方来提交更改。
无论如何都要绕过这个?
echo "<li data-icon='false'>![enter image description here][1]
<a href='javascript: updateName()'> Name of Conversation:
<form name='name' action='update.php' method='post'>
<input type='text' name='name' id='name' value='" . $this->conversation->get_name() . "'/>
</form>
</a>
</li>";
如果有人想知道updateName()的作用:
function updateName(){
document.name.submit();
}
答案 0 :(得分:0)
您已将input
包裹在<a>
标记中。当您点击<input>
时,点击事件会冒泡到<a>
并触发updateName
您可以为输入的click事件绑定处理程序并调用event.stopPropagation()
以防止事件冒泡到父<a>
,如下所示:
document.getElementById('name').addEventListener('click',function(e){
e.stopPropagation();
});
function updateName(){
document.name.submit();
}
答案 1 :(得分:0)
您应该只将一个侦听器附加到您的字段的blur
事件,这将在您的字段失去焦点时触发。在做任何事情之前,只需检查用户是否已将某些内容放入字段中,否则在错误的时刻出现的任何点击或标签都会让您感到很不安。
对于它周围的链接,我无法理解你为什么要这样做。如果你真的需要一个链接,请把它放在你的领域旁边,但不能放在那里。