在浏览器(chrome)内,直接修改页面上的js代码会生效吗(事件触发类的代码)

jQuery(function(){
        jQuery('.select-box button.dh-btn').click(function(){
            var hoops = this;
            //
            alert('会弹出吗');
            //
            jQuery('.select-box button.dh-btn').each(function(){
                if(hoops == this)
                    return;
                jQuery(this).removeClass('btn-selected');
            });
            jQuery(this).toggleClass('btn-selected');
        });
        // brand search to model

        jQuery('.brandsitemlist li a').click(function(){
            var brand = jQuery(this).html();
            jQuery('#brand-select').trigger('click');
            jQuery('#model-select').trigger('click');
            jQuery('#brand-select').css('background-color','#228cf4').css('color','#FFF').css('border','none').html(brand);
            getModel(brand);
        });
        jQuery('.brandslogobar li a').click(function(){
            var brand = jQuery(this).children("img").attr("alt");
            jQuery('#brand-select').trigger('click');
            jQuery('#model-select').trigger('click');
            jQuery('#brand-select').css('background-color','#228cf4').css('color','#FFF').css('border','none').html(brand);
            getModel(brand);
        });

    });
    

比如上面的alert代码 当页面进行相应点击 触发jquery事件的时候 我发现是没有弹出的

但是js不是从页面中读取的吗 应该会生效才对吧

阅读 21.1k
3 个回答

你虽然修改了,但是script在运行前就被load到内存里,就跟你本地开发一样,ide里修改了js源码,要让新代码生效你还是要刷新浏览器已加载新的代码。可即时你修改了浏览器中的js,是你一旦刷新了,浏览器还是会去根据script 标签src上的路径去加载js,所以你的修改立刻被覆盖了

需要去console选项卡重新定义下函数
function a() { alert(123);} //原来的。
去console选项卡输入
function a() { alert(123123);}
后回车就可以更新ab函数了

可以的,需要用插件:Tampermonkey(谷歌商店)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题