Javascript .on()事件处理程序未启动?

Javascript .on()事件处理程序未启动?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,$(文档).ready(函数(){ $(文档).on('click','th.default',function(){ 警报(“你好,世界!”); }); $(文档)。在('单击','列标题',函数()上) { 警惕(“你好,世界!”); }); /*$(文档).bind('click',函数(e){ var目标=$(e.target); if(target.is('.default')){ e、 preventDefault();//如果要取消事件流 //做点什么 警惕(“你好,世界!”);


$(文档).ready(函数(){
$(文档).on('click','th.default',function(){
警报(“你好,世界!”);
});
$(文档)。在('单击','列标题',函数()上)
{
警惕(“你好,世界!”);
});
/*$(文档).bind('click',函数(e){
var目标=$(e.target);
if(target.is('.default')){
e、 preventDefault();//如果要取消事件流
//做点什么
警惕(“你好,世界!”);
}else if(target.is('.myotherclass')){
e、 预防默认值();
//做点别的
警报(‘不’);
}
});*/
});
/*var theParent=document.querySelector(“列标题”);
家长添加的监听器(“单击”,doSomething,false);
功能剂量测定法(e){
如果(e.target!==e.currentTarget){
var clickedItem=e.target.id;
警报(“你好”+单击编辑项);
}
e、 停止传播();
}*/
//单击:显示文本框,隐藏标签
函数重命名列(标签id)
{
警报(“输入重命名”标签\u id);
//将“重命名”更改为“保存”
var elt=document.getElementById(标签id);
如果(elt.nodeName==“标签”)
{
getElementById(label_id).innerHTML='Save';
$(label_id).css('display','none');
}
var elt=document.getElementById(inputText\u id)
如果(elt.nodeName==“输入”)
{
$(输入文本\u id)
.val($(标签id).text())
.css('显示','')
.focus();
}
}
//关于模糊
函数cancelRename(编辑文本,列id)
{
document.getElementById(label.innerHTML='Rename';
$(editText).css('display','none');
$(列id)
.css('显示','');
}
//保存
函数saveColumnName(标签)
{
document.getElementById(label.innerHTML='Rename';
}



正如我看到的,您是通过php生成标记的,所以在您的案例中不需要事件委派,因为标记生成是在服务器上完成的,这应该可以工作:

$(document).ready(function () {
    $('th.default').on('click', function() {
         alert("hello world!");
    });
});
此外,您还必须确保使用的jQuery版本正确,该版本具有
.on()
事件侦听器,而
1.7
的早期版本没有


附加的 您必须将jquery库放在试图执行的脚本之前


//你应该把剧本放在这里。

您的代码对我来说很好:

$(文档).ready(函数(){
$(文档).on('click','th.default',function(){
警报(“你好,世界!”);
});
});

违约

由于“on”与元素相关,您必须为侦听事件提供一个exist元素,例如“body”,它始终存在于页面上

$(document).ready(function () {
    $('body').on('click', 'th.default', function(event) {
            alert("hello world!");
    });
});

这似乎是重复的,请查看此

控制台中是否出现错误?您的代码应该可以工作。您可以尝试使用
”。默认值“
而不是
”th.default”
?尝试使用class='default'而不是class='default\'@Satpal。没有错误。在这个问题中,javascript在
块之外,但不在
块之内这一事实看起来很可疑。当然,这可能是最小的代码,但在这个问题上,它看起来是一个单一的文件——甚至没有任何理由相信您正在加载jQuery,或者如果他使用了错误的jQuery版本,他将在Javascript控制台中出错。但是他还没有回答他是否有错误的问题。是的!预期。。。!我确实包含了jquery库。我也试过:
似乎也不起作用。我去看看firebug有没有something@herondale根据
jquery3.x.x
$(document).ready()
方法,我想已经删除了。改为使用首选版本为
$(function(){//code在这个就绪块中)
$(文档)
?这是什么/怎么回事?请看一下这个问题谢谢你指出,我没有看到。我已经纠正了它,但是我仍然没有收到警报。你能用代码片段中的代码的工作示例更新你的问题吗?它连接到数据库,因此肯定会抛出错误。可以吗?谢谢,请用HTML替换代码片段中的PHP代码,该代码片段将在本地计算机上输出,以便可以对其进行实际测试。