我希望在将其写入textarea之后发布一些东西而不点击任何按钮,但是在textarea外面点击..我怎么能实现?我的代码......
<form action="javascript:parseResponse();" id="responseForm">
<textarea align="center" name="post" id="post">Write something</textarea>
<input type="button" id="submit" value="submit" />
</form>
AJAX:
$('#responseForm').submit(function({$('#submit',this).attr('disabled','disabled');});
function parseResponse(){
var post_status = $("#post");
var url = "post_send.php";
if(post_status.val() != ''){
$.post(url, { post: post_status.val()}, function(data){
$(function(){
$.ajax({
type: "POST",
url: "home_load.php",
data: "getNews=true",
success:function(r)
{
$(".container").html(r)
},
})
})
document.getElementById('post').value = "";
});
}
}
我想删除按钮...当用户在textarea外部点击时,它会自动提交信息... textarea外面的整个身体将作为提交按钮...当用户写任何信息时textarea ...我怎样才能实现呢?
答案 0 :(得分:2)
尝试以下方法:
$(document).on("click", function(e) {
var $target = $("#YOUR_ELEMENT");
if ($target.has(e.target).length === 0) {
your_submit_function();
}
});
您还可以将提交功能附加到blur
事件以改进功能:
$(document).on("click", function(e) {
var $target = $("#YOUR_ELEMENT");
if ($target.has(e.target).length === 0) {
your_submit_function();
});
$("#YOUR_ELEMENT").on("blur", function() {
your_submit_function();
});
答案 1 :(得分:0)
您可以将单击处理程序附加到整个文档,然后在用户单击文本区域内时取消该事件。这样的事情可能会起到作用:
$( document ).on( "click", function( ev ) {
if( $( ev.target ).index( $( "#post" )) == -1 ) {
// User clicked outside the text area.
}
} );
我使用与此类似的代码来完成基本相同的事情(检查用户何时点击某些内容)。这是该代码的复制和粘贴(略有改动),我没有为您的目的进行测试。从本质上讲,它为click事件的整个文档添加了一个处理程序,然后只有在单击的元素不是textarea时才执行代码。