Javascript 一次单击即可保存多次
我有一个搜索文本框,搜索结果将显示一个图形,我保存在数据库的结果 但第一次可以正确保存,第二次可以保存2次,第三次可以保存3次Javascript 一次单击即可保存多次,javascript,jquery,json,html,Javascript,Jquery,Json,Html,我有一个搜索文本框,搜索结果将显示一个图形,我保存在数据库的结果 但第一次可以正确保存,第二次可以保存2次,第三次可以保存3次 $('#twitsave1').click(function(el) { if ( $("#twitsave1").prop('checked') == true ){ //console.log( el.timeStamp); var reId=$(this).next().next().html(); console.log(r
$('#twitsave1').click(function(el)
{
if ( $("#twitsave1").prop('checked') == true ){
//console.log( el.timeStamp);
var reId=$(this).next().next().html();
console.log(reId);
var key=$('.searchBar input[type="text"]').val();
var timeStamps = el.timeStamp;
var loginname = AppAPI.getUser();
var logTypes = 'EVIDENCE';
var dataSources = 'Twitter';
AppAPI.showLoadingBar('Saving');
var data=JSON.stringify({
"login":loginname ,
"value": reId,
"logType": logTypes,
"title": 'Twitter - '+key,
"dataSource":dataSources,
"timeStamp": timeStamps,
"searchDateRange":startdate+":"+endDate
});
console.log(data);
var url=getApplicationRoot() +'/api/dao/logEntry';
$.ajax({
type:"POST" ,
url:url,
etc.......
在console.log(data)中,我得到的数据是相同数据的3到4倍
请帮助可能此单击绑定:
$('twitsave1')。单击()将在单击处理程序中再次执行
- 在再次发生此click()绑定时,是否调用刷新/重画函数
- 单击是否会触发AJAX调用,该调用返回添加到页面的javascript代码?然后检查javascript是否没有再次添加click()绑定
尝试向按钮添加禁用或只读属性。该用户将无法一次又一次地单击它。问题可能是单击多次被解雇。改用。此处理程序将只执行一次。try。问题可能是多次触发了click
根本原因是多次绑定click事件。我建议您纠正这一点,而不是使用.one()
@prash Done来解决问题!谢谢:)@techfoobar:使用one
有什么问题?@harsha问题不在于是否使用one
,而是脚本逻辑中的错误<代码>单击
如果绑定正确,应该可以正常工作。取而代之的是,每次调用clickhandler时,都会再次绑定它(在提供的代码中不可见)。因此,每次连续单击都会将一个以上的处理程序绑定到元素。当然,您可以使用one
完美地解决这个问题,但是最好只检测脚本中的错误(因为绑定和解除绑定处理程序也是一个性能问题)。这不是真正的解决方案