Как сказано в заголовке. Я хочу создать TooltipDialog после того, как я нажму ссылку и загружу пользовательский контент в этот диалог. Тело всплывающей подсказки является полным заполнителем, я просто не использовал серверную логику, чтобы справиться с этим. Итак, я дошел до этого момента:
PreviewThread: function (ThreadID) {
var tooltip = new dijit.TooltipDialog({
href: "/Account/SingIn?ReturnUrl=" + Jaxi.CurrentLocation
});
},
<a href="javascript:Jaxi.PreviewThread(@thread.ThreadID)" class="preview-thread" id="@tp.ToString()">Preview</a>
Дело даже не в том, как загрузить контент в диалог, а в том, как его в первую очередь открыть?
После дополнительных поисков в Google и проб и ошибок я наконец дошел до этого:
PreviewThread: function (ThreadID) {
var tooltip = new dijit.TooltipDialog({
href: "/Account/SingIn?ReturnUrl=" + Jaxi.CurrentLocation,
closable: true
});
dojo.query(".thread-preview").connect("onclick", function () {
dijit.popup.open({ popup: tooltip, around: this });
});
},
Как-то работает. ToolTipDialog открывается, но ... Мне нужно дважды щелкнуть, и я не могу закрыть диалоговое окно после щелчка за его пределами или после нажатия кнопки мыши.
Хорошо, это будет похоже на журнал разработчика, но, надеюсь, это спасет других :
Наконец-то мне удалось открыть его там, где я хочу:
PreviewThread: function (ThreadID) {
var tooltip = new dijit.TooltipDialog({
href: "/Account/SingIn?ReturnUrl=" + Jaxi.CurrentLocation,
closable: true
});
dijit.popup.open({ popup: tooltip, around: dojo.byId("thread-preview-" + ThreadID) });
},
<a href="javascript:Jaxi.PreviewThread(@thread.ThreadID)" id="@tp.ToString()" >Click Me</a>
Обратите внимание, что я использую Asp .NET MVC. Осталось закрыть чертову штуку удобным для пользователя способом ..