Make impress-console-button actually clickable (#651)
Changed the onclick handler to trigger the impress:console:open event and not use the impressConsole() global function any more. The latter is considered deprecated now that impressConsole is integrated into impress.js itself. Also catch some errors that appear in event handlers when the target for the click event was immediately removed from DOM. Fixes #651
This commit is contained in:
@@ -380,15 +380,16 @@
|
||||
// ... so I add a button to klick.
|
||||
// workaround on firefox
|
||||
var message = document.createElement( 'div' );
|
||||
message.id = 'consoleWindowError';
|
||||
message.id = 'impress-console-button';
|
||||
message.style.position = 'fixed';
|
||||
message.style.left = 0;
|
||||
message.style.top = 0;
|
||||
message.style.right = 0;
|
||||
message.style.bottom = 0;
|
||||
message.style.backgroundColor = 'rgba(255, 255, 255, 0.9)';
|
||||
var onClickStr = 'var x = document.getElementById(\'consoleWindowError\');' +
|
||||
'x.parentNode.removeChild(x);impressConsole().open();';
|
||||
var onClickStr = 'var x = document.getElementById(\'impress-console-button\');' +
|
||||
'x.parentNode.removeChild(x);var root = document.getElementById(\'' + rootId + '\');' +
|
||||
'impress(\'' + rootId + '\').lib.util.triggerEvent(root, \'impress:console:open\', {})';
|
||||
message.innerHTML = '<button style="margin: 25vh 25vw;width:50vw;height:50vh;" ' +
|
||||
'onclick="' + onClickStr + '">' +
|
||||
lang.clickToOpen +
|
||||
@@ -567,7 +568,7 @@
|
||||
|
||||
// New API for impress.js plugins is based on using events
|
||||
root.addEventListener( 'impress:console:open', function() {
|
||||
window.open();
|
||||
open();
|
||||
} );
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user