Issue
I have a notebook cell containing JavaScript code, and I would like the code to select this particular cell. Unfortunately, the behavior of get_selected_cell
depends on whether I execute the cell in place, or execute and select the cell below.
Example:
%%javascript
var cell = Jupyter.notebook.get_selected_cell();
console.log(Jupyter.notebook.find_cell_index(cell));
When executing this cell, the console output will be different whether I execute with Ctrl+Enter
or Shift+Enter
. In one case it logs the index of the cell that contains the JavaScript code, in the other the index of the cell below.
Is there a way to select the cell I want?
Solution
Your Javascript will have a handle on the OutputArea applying the Javascript, but not one all the way to the cell (in general, output areas can be used without cells or notebooks). You can find the cell by identifying the parent .cell
element, and then getting the cell corresponding to that element:
%%javascript
var output_area = this;
// find my cell element
var cell_element = output_area.element.parents('.cell');
// which cell is it?
var cell_idx = Jupyter.notebook.get_cell_elements().index(cell_element);
// get the cell object
var cell = Jupyter.notebook.get_cell(cell_idx);
Answered By - minrk
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.