is(:focus) 是一种方法。最终代码如下:
setInterval(function(){
if($j("SELECT[name='cf20_field_7']").is(":focus")) return false;
var information = '';
var i = 1;
$j("#cf20_field_1").html();
//add new information to hidden field
$j("#cforms20form .info_for_email").each(function(){
var name = $j(this).find("INPUT[name='cf20_field_5']").val();
var inn = $j(this).find("INPUT[name='cf20_field_6']").val();
var view = $j(this).find("SELECT[name='cf20_field_7']").val();
//render
information += i + ")";
information += "Наименование организации: " + name + ".<br/>\n";
information += "Реквизиты организации: " + inn + ".<br/>\n";
information += "Стоимость заказа: выписка " + view + ".<br/>\n";
i++;
})
$j("#cf20_field_1").html(information);
hovered = true;
}
,100
);
当选择字段中没有悬停时,是否有可能触发函数。
也可能有一种方法来检查 SELECT 字段上是否没有悬停。
它会导致问题。当您尝试选择另一个选项时,setInterval 正在工作时光标会乞求。
下面列出了我发现的最佳方法:
//every 100 mil secconds update info
setInterval(function(){
$j("SELECT[name='cf20_field_7']").trigger('change');
if ( $j("SELECT[name='cf20_field_7']").on("change")) return false;
var information = '';
var i = 1;
$j("#cf20_field_1").html();
//add new information to hidden field
$j("#cforms20form .info_for_email").each(function(){
var name = $j(this).find("INPUT[name='cf20_field_5']").val();
var inn = $j(this).find("INPUT[name='cf20_field_6']").val();
var view = $j(this).find("SELECT[name='cf20_field_7']").attr("value");
//render
information += i + ")";
information += "Наименование организации: " + name + ".<br/>\n";
information += "Реквизиты организации: " + inn + ".<br/>\n";
information += "Стоимость заказа: выписка " + view + ".<br/>\n";
i++;
})
$j("#cf20_field_1").html(information);
}
,100
);
更多信息: 我可以更多地描述情况。所以我有一个表格。 onsubmit 事件不起作用,因为还有另一个事件是 Attachet。所以我决定每 100 毫秒更新一次表单第一个字段的值。该值包含所有动态创建的“选择和输入”。但是当我尝试通过鼠标更改选择的值时。该函数被触发,函数检查 select 的值并导致鼠标请求。所以我需要以某种方式检查该选择是否悬停以防止触发该函数。
最佳答案
此处无效:
if ( SELECT[name='cf20_field_7'].on("change"))
我想你需要这个:
if ( $("SELECT[name='cf20_field_7']").on("change"))
但是,上面的内容仍然无效。您需要一些处理程序,例如:
$("SELECT[name='cf20_field_7']").on("change", function(){
return false;
});
关于javascript - jquery事件没有变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14212766/