Vorrei utilizzare un pennello D3.js per consentire agli utenti di selezionare un intervallo di valori su un asse. Per impostazione predefinita, facendo clic all'esterno del pennello lo si cancella, in modo che non venga selezionato alcun intervallo.Disabilita la cancellazione del pennello D3.js
Tuttavia, desidero regolare questo comportamento in modo che facendo clic all'esterno del pennello non si modifichi l'estensione del pennello. In effetti, non ci dovrebbe essere modo di cancellare il pennello, alcuni intervalli dovrebbero sempre essere selezionati.
Credo di dover agganciare lo in qualche modo per disabilitare la compensazione, ma non so davvero come farlo.
Ecco un esempio del tipo di interfaccia di cui sto parlando (Fiddle). Quando fai clic a sinistra o a destra della barra nera, il pennello viene cancellato e la barra scompare.
Come faccio a disattivare questo comportamento?
Ho avuto l'idea. Ma mi chiedo se hai ricevuto un errore del tipo: "Uncaught TypeError: Impossibile leggere la proprietà 'call' di undefined" quando si esegue questo codice, sembra che non ci sia alcun gestore di eventi mousemove.brush associato a brushNode. – Kuan
Ciao @kuan, hai risolto il problema? C'è qualche problema/effetti collaterali accaduti usando sopra la soluzione con errore ?? –
@Nithin CV Poyyil No, questo sembra funzionare nell'esempio sopra, ma non funziona nel mio caso. Il modo in cui utilizzo è: ricorda inizialmente l'estensione del pennello, e in brushend, se (! Brush.empty()) {ext = brush.extent();} else {brush.extent (ext); } e imposta il pennello e ridisegna l'asse – Kuan