使用JQuery,我向A Bootstrap v3.3按钮添加了一个单击处理程序。在该函数内部,我使用了javascript:

// 
featureInfo.main_rgb = $("#f_mainRGB").val(); 
featureInfo.main_rgb = (featureInfo.main_rgb == "") ? null : featureInfo.main_rgb.substring(1); 
// 
featureInfo.stripe_rgb = $("#f_stripeRGB").val(); 
featureInfo.stripe_rgb = (featureInfo.stripe_rgb == "") ? null : featureInfo.stripe_rgb.substring(1); 
// 
featureInfo.border_rgb = $("#f_borderRGB").val(); // here is where it barfs 
featureInfo.border_rgb = (featureInfo.borderRGB == "") ? null : featureInfo.border_rgb.substring(1); 

那就是从3个HTML 5颜色控件中获取值,并将它们放在JSON对象中,以供以后的AJAX调用来更新数据。前两个,mainRGB和stripeRGB都没问题,但是将val()的borderRGB cal设置为“Chrome”标签后,立即转到“Aw,Snap”。没有暂停,就像它是由于偶然的无限循环导致的内存不足错误一样。

如果我尝试使用基本的javascript而不使用JQuery并使用document.getElementById(“f_borderRGB”)进行开发,则开发工具会显示以下错误:
metadata.jsp:259 Uncaught TypeError: Cannot convert undefined or null to object 
at HTMLButtonElement.doEditSelectedFeature (metadata.jsp:259) 
at HTMLButtonElement.dispatch (jquery.min.js:3) 
at HTMLButtonElement.q.handle (jquery.min.js:3) 
doEditSelectedFeature @ metadata.jsp:259 
dispatch @ jquery.min.js:3 
q.handle @ jquery.min.js:3 

如果在获得这三个控件的值时更改顺序,则它总是发生在第三个控件上,而不管是哪个特定控件。

此外,仅当我使用开发人员工具调试该功能并使用F10越过该代码行时,才会发生这种情况。即使该行是要执行的下一行,并且我按下F8继续运行而不停止而不是F10,也不会发生错误。

当另一个AJAX调用返回服务器中的数据时,JQuery将输出表单的HTML5
var h = "<form class=\"form-horizontal\">" + 
    "<div class=\"form-group\">" + 
        "<div class=\"col-xs-3 col-sm-3 col-md-3 col-lg-3 text-right\"><label  for=\"f_mainRGB\">Main RGB: </label></div>" + 
        "<div class=\"col-xs-1 col-sm-1 col-md-1 col-lg-1\"><input class=\"form-control\" type=\"color\" id=\"f_mainRGB\" value=\"#"+filterEmptyString(featureInfo.main_rgb)+"\" disabled/></div>"+ 
        "<div class=\"col-xs-1 col-sm-1 col-md-1 col-lg-1\" id=\"i_mainRGB\"></div>" + 
    "</div>"+ 
    // 
    "<div class=\"form-group\">" + 
        "<div class=\"col-xs-3 col-sm-3 col-md-3 col-lg-3 text-right\"><label  for=\"f_stripeRGB\">Stripe RGB: </label></div>" + 
        "<div class=\"col-xs-1 col-sm-1 col-md-1 col-lg-1\"><input class=\"form-control\" type=\"color\" id=\"f_stripeRGB\" value=\"#"+filterEmptyString(featureInfo.stripe_rgb)+"\" disabled/></div>"+ 
        "<div class=\"col-xs-1 col-sm-1 col-md-1 col-lg-1\" id=\"i_stripeRGB\"></div>" + 
    "</div>"+ 
    // 
    "<div class=\"form-group\">" + 
        "<div class=\"col-xs-3 col-sm-3 col-md-3 col-lg-3 text-right\"><label  for=\"f_borderRGB\">Border RGB: </label></div>" + 
        "<div class=\"col-xs-1 col-sm-1 col-md-1 col-lg-1\"><input class=\"form-control\" type=\"color\" id=\"f_borderRGB\" value=\"#"+filterEmptyString(featureInfo.border_rgb)+"\" disabled/></div>"+ 
        "<div class=\"col-xs-1 col-sm-1 col-md-1 col-lg-1\" id=\"i_borderRGB\"></div>" + 
    "</div></form>"; 
$("#pfSelectedFeatureInfo").html(h); 

在Firefox中不会发生此问题。

任何想法是什么原因造成的?

请您参考如下方法:

这是Chrome DevTools中的错误,开发人员表示他们需要一段代码来演示它。我无法发送我的代码(NDA),但也许可以吗?在这里看看!
https://bugs.chromium.org/p/chromium/issues/detail?id=839449#c8


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!