我正在尝试定义在Android应用程序中为PhoneGap和jQuery Mobile注册初始化事件(jQuery样式)的正确方法.
在研究了文档之后,我想出了以下内容:
$('#index-page').live('pageinit', function () { // <-- fires
$(document).bind('deviceready', function () { // <-- !fires
// ...
});
});
Run Code Online (Sandbox Code Playgroud)
"外部"事件(pageinit
)触发,"内部"(deviceready
)不......
虽然,这种类型的事件注册工作完美:
window.addEventListener('load', function () {
document.addEventListener('deviceready', function () {
// ...
}, false);
}, false);
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释第一种类型的事件注册有什么问题吗?什么类型更好?
先决条件:
我有一个按钮,重新加载(重新发送一个AJAX请求)jsTree点击一次.
这是我的示例配置代码:
treeContainer.bind("loaded.jstree", function () {
alert("the tree is loaded");
}).jstree(config);
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,在第二次,第三次等次点击"重新加载"按钮后,我没有显示警报(包含在回调函数中).我使用了错误的jstree状态事件吗?
总而言之,我希望每次单击"重新加载"按钮时都会执行jsTree回调函数.
我目前正在使用jsTree 1.0-rc1(rev.191).
根据作者,jsTree文档:
打开一个关闭的节点(没有加载的子节点)时,会发出一个AJAX请求.
如何配置jsTree以摆脱为每个空/无子节点发出的这些AJAX数据请求?我希望我的空节点保持空(或无子女)!
JSON数据容器(data.json)
{
"data" : "Root node with no children",
"children" : []
}
Run Code Online (Sandbox Code Playgroud)
jsTree配置
{
"json_data" : {
"ajax" : {
"url" : "data.json",
"type" : "GET",
"dataType" : "json",
"dataFilter" : function (data, type) {
//some filtering function
}
}
},
"plugin" : ["json_data"]
}
Run Code Online (Sandbox Code Playgroud)
的index.html
<div ng-app="myApp" ng-controller="MainCtrl">
<label>
<u>model: </u>
<input type="text" ng-model="someValue" outer="tmpl.html"/>
<hr/>
</label>
<script type="text/ng-template" id="tmpl.html">
<inner test="123"></inner>
</script>
<script src="angular.js"></script>
Run Code Online (Sandbox Code Playgroud)
app.js
(function (ng) {
var app = ng.module('myApp', []);
app.controller('MainCtrl', [
'$scope',
function ($scope) {
$scope.someValue = 'Hello, World!';
}
])
// directive D2
.directive('inner', function () {
return {
restrict: 'AE',
replace: true,
template: '<p>{{model || "N/A"}}</p>',
scope: { model: '=ngModel' },
link: function (scope, element, …
Run Code Online (Sandbox Code Playgroud)