我只是想加速jQuery,如果这是一个菜鸟错误,我会在前面道歉。
我试图获得一个简单的自定义触发器,以便在没有成功的情况下触发。也许有人可以帮忙,并告诉我为什么这不起作用。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jQuery Trigger example</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$('#asset1').bind("triggerAssets", function() {
alert('Assets');
});
</script>
<script>
$(document).ready(function(){
$('#asset1').trigger("triggerAssets");
});
</script>
</head>
<body >
<div id="asset1" class="assets" >Asset
<table>
<tr>
<td>Field One: </td>
<td><input type="text" name="fieldOne" id="exfieldOne" value=""/></td>
</tr>
<tr>
<td>Field Two: </td>
<td><input type="text" name="fieldTwo" id="exfieldTwo" value=""/></td>
</tr>
<tr>
<td>Field Three: </td>
<td><input type="text" name="fieldThree" id="exfieldThree" value=""/></td>
</tr>
</table>
</div>
<hr>
</body>
</html>
答案 0 :(得分:5)
您的绑定功能将在呈现页面之前运行; #asset1
尚不存在。将其移动到ready
处理程序,该处理程序在 DOM准备就绪后激活(并且您的元素存在)。
$(document).ready(function(){ // wait until the DOM is ready, then do:
$('#asset1').bind("triggerAssets", function() {
alert('Assets');
});
$('#asset1').trigger("triggerAssets");
});
答案 1 :(得分:0)
您需要在DOM准备就绪时绑定事件,或者在id为asset1的未来元素上添加委托:
$(document).ready(function(){
$('#asset1').bind("triggerAssets", function() {
alert('Assets');
});
$('#asset1').trigger("triggerAssets");
});
答案 2 :(得分:0)
如果您需要在加载页面之前执行某些操作,请定义一个对象来处理以下内容:
<script>
var test = {};
$(test).bind("test", function(){
alert("Your trigger was fired!");
});
$(test).trigger("test");
</script>