在我的应用程序中,我使用一个简单的JavaScript弹出窗口并以这种方式成功调用它 -
<a href="javascript:popup('Hello World')>Click Me</a>
我想知道是否可以在其他jQuery事件上调用相同的弹出窗口。例如
$("#some_button_id").click( function() {
javascript:popup('Hello World');
});
上述方法不起作用。还有其他解决办法吗?
答案 0 :(得分:1)
编辑 - 您不需要javascript:
部分,因为您没有附加内联的JavaScript。
但这不是错误的原因所以请确保在附加事件处理程序之前等待DOM准备就绪。
$(function(){
var popup = function(msg){
alert(msg);
}
$("#some_button_id").click( function() {
popup('Hello World');
});
});
当然要确保在某处定义popup()
答案 1 :(得分:1)
如果您的网页上定义了popup
功能,那么您应该使用
$("#some_button_id").click( function() {
popup('Hello World');
});
只有在html属性中直接使用javascript代码时才需要javascript:
前缀。
答案 2 :(得分:0)
$("#some_button_id").click( function() {
popup('Hello World');
});
应该有用。
编辑
这将确保如果在事件被触发时id退出,是否已经在添加侦听器时创建了它,它被称为委托:
$(document.body).click( function(e) {
if(e.target.getAttribute("id")=="some_button_id"){
popup('Hello World');
}
});